¿Cuál es la mejor manera de lograr la indexación en tiempo real de Lucene?Lucene indexación en tiempo real?
Respuesta
Obtenga un lector de índice del escritor de índice.
Actualización: Parece que el método actual es el objeto open a directory reader using an index writer.
¿Cómo va a ayudar esto con la indexación en tiempo real? – Mikos
Al permitir búsquedas para encontrar documentos antes de un punto de confirmación. El lector obtenido del escritor se actualiza continuamente a medida que se agregan los documentos. –
Al intentar hacer IndexReader reader = indexWriter.getReader(); El método getReader() del tipo IndexWriter no está visible. http://lucene.apache.org/core/4_7_2/core/org/apache/lucene/index/IndexWriter.html?is-external=true –
Try Zoie
Zoie tiene una promesa, sin embargo, he encontrado que la documentación y el código de muestras carecen severamente. Además, con Zoie, la indexación es rápida si los documentos a indexar están agrupados, pero la indexación de algunos documentos a la vez es extremadamente lenta. Personalmente, he encontrado que Lucene sin procesar es una API más fácil de usar. –
El wiki de Lucene tiene alguna información: http://wiki.apache.org/lucene-java/NearRealtimeSearch
Lucene tiene una función llamada búsqueda casi en tiempo real para abordar exactamente esta necesidad.
Requiere que su IndexReader esté en la misma JVM que su IndexWriter.
Realiza cambios con IndexWriter, y luego abre un lector directamente desde el escritor usando IndexReader.open (escritor), o en versiones anteriores de Lucene writer.getReader(). Esta llamada normalmente será muy rápida (en proporción a la cantidad de cambios que haya realizado desde la última apertura de un lector) ya que omite la costosa confirmación normalmente requerida para abrir un lector. Es capaz de buscar los cambios no comprometidos en el escritor.
Este lector sigue buscando una instantánea de punto en el tiempo del autor, es decir, todos los cambios desde el momento de su apertura.
- 1. Bigramas del token de indexación en Lucene
- 2. Fecha de indexación y búsqueda en Lucene
- 3. Mejore la indexación de subprocesos múltiples con lucene
- 4. Indexación de diferentes tipos de entidades/objetos con Solr Lucene
- 5. node.js juego en tiempo real
- 6. Interoperabilidad Java en tiempo real
- 7. Tiempo real y php?
- 8. Mostrando tiempo real
- 9. ¿La mejor manera de mantener el índice en tiempo real?
- 10. MongoDb Transmisión de datos insertados en tiempo real (o casi en tiempo real)
- 11. Colaboración en tiempo real en Eclipse
- 12. Gráficos en tiempo real en Java
- 13. Gráfico en tiempo real en MATLAB
- 14. ¿Grabar audio en tiempo real en java?
- 15. Seguimiento en tiempo real en el Iphone
- 16. programación en tiempo real en Linux
- 17. Tiempo real gráfico de datos
- 18. indexación y búsqueda capas de anotaciones sobre palabra de nivel en Lucene
- 19. tiempo de ejecución "real" límite
- 20. Lo que constituye 'tiempo real'
- 21. ¿Por qué Erlang es adecuado para aplicaciones suaves en tiempo real, pero no para tiempo real?
- 22. ¿Cómo funcionan las actualizaciones en tiempo real?
- 23. en tiempo real de vídeo (imagen) cosiendo
- 24. Android: procesamiento de imágenes en tiempo real
- 25. cómo descargar jwplayer video en tiempo real?
- 26. función de impresión python en tiempo real
- 27. Tiene salidas PL/SQL en tiempo real
- 28. Transmisión HTTP en tiempo real con encriptación
- 29. Biblioteca FEM para aplicaciones en tiempo real
- 30. Latencia de video en tiempo real
Indización en tiempo real de qué? ¿Podría explicar un poco más lo que está buscando? –
Después de haber pasado dos años trabajando en esto de vez en cuando a solas, tengo que decir: solr no es la plataforma adecuada cuando se trata de la indexación en tiempo real. Los commits son muy pesados en índices grandes. He oído hablar de grandes instalaciones que apenas pueden administrar 1 commit por hora. Una vez dicho esto, un proyecto reciente llamado Lucandra puede ser prometedor: no puedo encontrar ningún documento ahora, pero creí haber escuchado algo sobre la necesidad de comprometerme. http://github.com/tjake/Lucandra#readme –
Tiene que explicar más: no hay un significado específico para "tiempo real": como mínimo debe especificar qué retraso sería aceptable. En tiempo real suave (por ejemplo, tarda de 5 a 10 segundos para que se muestren las actualizaciones) no es difícil, por ejemplo, para los índices no grandes. – StaxMan