Utilice TermDocs
para obtener la frecuencia de término para un documento dado. Al igual que la frecuencia del documento, obtiene el término documentos de IndexReader
, utilizando el término de interés.
No encontrará un método más rápido que TermDocs
sin perder un poco de generalidad. TermDocs
lee directamente del archivo ".frq" en un segmento de índice, donde cada frecuencia de término se enumera en orden de documento.
Si eso es "demasiado lento", asegúrese de haber optimizado su índice para fusionar varios segmentos en un solo segmento. Itere sobre los documentos en orden (los saltos están bien, pero no se puede avanzar y retroceder en la lista de documentos de manera eficiente).
El siguiente paso podría ser el procesamiento adicional para crear una estructura de archivos aún más especializada que omita el SkipData
. Personalmente, buscaría un algoritmo mejor para lograr mi objetivo, o proporcionaría un mejor hardware — mucha memoria, ya sea para contener un RAMDirectory
, o para usarlo en su propio sistema de caché de archivos.
¿se puede utilizar este enfoque para determinar las frecuencias de término en un conjunto de resultados de una consulta de Lucene? –
¿es posible usar termDocs para obtener PhraseFrequency? – Dany