2008-12-08 16 views
18

Estoy usando Lucene para mostrar los resultados de búsqueda en una aplicación web. También soy una búsqueda personalizada para mostrar lo mismo. Los resultados de búsqueda pueden variar de 5000 a 10000 o más. ¿Puede alguien decirme la mejor estrategia para buscar y almacenar en caché los resultados de búsqueda?Búsqueda de resultados de búsqueda de Lucene

+2

Este usuario parece ser re-haciendo las mismas o similares preguntas repetidas ocasiones: http: // stackoverflow. com/users/41625/meyahoocomaodzxyowykprbavs5sf701zowgzpc3svjv8 Mire el registro de publicación antes de tomarse el tiempo para responder ... –

Respuesta

32

Le recomendaría que no almacene en caché los resultados, al menos no a nivel de la aplicación. Sin embargo, ejecutar Lucene en una caja con mucha memoria que el sistema operativo puede usar para su caché de archivos ayudará.

Simplemente repita la búsqueda con un desplazamiento diferente para cada página. El almacenamiento en caché introduce estado que, al final, socava el rendimiento. Tenemos cientos de usuarios simultáneos que buscan un índice de más de 40 millones de documentos. Las búsquedas se completan en menos de un segundo sin usar el almacenamiento en caché explícito.

Utilizando el objeto Hits regresó de búsqueda, puede acceder a los documentos de una página como esta:

Hits hits = searcher.search(query); 
int offset = page * recordsPerPage; 
int count = Math.min(hits.length() - offset, recordsPerPage); 
for (int i = 0; i < count; ++i) { 
    Document doc = hits.doc(offset + i); 
    ... 
} 
+0

¿Todavía no tiene problemas de rendimiento? –

+0

Hola erickson ... ¿puedes decirme de qué versión en adelante el lucene soporta el método de búsqueda tomando solo 1 argumento de consulta ... y también es posible ordenar con esta solución? –

+0

@AshaKoshti para siempre? Estaba allí en 1.4.3, lanzado en 2004. No puedo encontrar una versión más antigua que eso en los archivos. Sí, también hay una sobrecarga 'search (Query, Sort)' en 'Searcher'. – erickson

Cuestiones relacionadas