Estoy jugando con una búsqueda de mi aplicación web basada en Solr, y pensé que sería mejor usar DataImportHandler para manejar la sincronización con la aplicación a través de la base de datos. Me gusta la elegancia de solo consultar el campo last_updated_date
. Buen material. Sin embargo, no sé cómo manejar la eliminación de documentos con este enfoque. De la forma en que lo veo, tengo 2 opciones. Podría enviar un mensaje explícito a Solr desde el cliente cuando se elimine un documento, o podría agregar una marca "eliminada" y dejar el objeto en la base de datos, para que Solr note que el documento ha cambiado y ahora está "borrado" " Podría agregar un filtro de consulta que ignoraría los resultados con la marca eliminada, pero parece ineficaz incluir todos los documentos eliminados en el índice de Lucene. ¿Qué hacen otras personas?Solr DIH - ¿Cómo manejar documentos borrados?
16
A
Respuesta
20
Estas son las opciones:
- Uso DIH special commands $ o $ deleteDocById deleteDocByQuery (Solr requiere 1.4+)
- Utilice la clean parameter del DIH para borrar todo el índice antes de importar.
- Use preImportDeleteQuery para definir qué se va a limpiar antes de importar. (requiere Solr 1.4+)
- Utilice desencadenadores de base de datos en lugar de DIH para gestionar la actualización del índice.
- Si está utilizando algún tipo de ORM, use sus capacidades de interceptación en lugar de DIH. Por ejemplo, puede usar hibernate events para actualizar el índice al actualizar, insertar o eliminar.
2
Me gusta tener una marca "eliminada", así que en realidad no borro mis datos. Depende de lo paranoico que seas. Me gustan las sugerencias de Mauricio ...
+0
"deleted" flag = ¡Buena llamada! – Brian
Cuestiones relacionadas
- 1. Solr DIH delta-import con teclas primarias compuestas?
- 2. En DIH Solr importar dos doble en un solo lugar
- 3. Solr documentos con elementos secundarios?
- 4. cómo restaurar archivos borrados
- 5. Cómo reindex todos los documentos en los datos Solr
- 6. ¿Cómo formatear los documentos de resultados de Solr?
- 7. Puede Apache Solr Manejar datos grandes TeraByte
- 8. solr búsqueda de documentos donde no existe un campo
- 9. Documentos de índice PDF en Solr desde C# client
- 10. actualizaciones frecuentes a los documentos Solr - Eficiencia/Escalabilidad refiera
- 11. cómo determinar los archivos borrados en forzosamente
- 12. Nombres de columna dinámicos usando DIH (DataImportHandler)
- 13. indexación de Solr: replicación maestro/esclavo, cómo manejar un gran índice y alto tráfico?
- 14. Cómo impulsar un documento SOLR al indexar con/solr/update
- 15. Solr Query Log - Need SQL Results
- 16. Entity Framework y registros borrados blandos
- 17. ¿Cómo se ordenan los resultados en solr en una consulta "hacer coincidir todos los documentos"
- 18. ¿Cómo hacer una consulta NO en Solr?
- 19. ¿Cómo hacer una consulta IN en Solr?
- 20. Xcode muestra antiguos archivos borrados, xib
- 21. ¿Recuperar archivos borrados en Aptana Studio 3?
- 22. cómo reducir el uso de memoria solr?
- 23. Análisis semántico usando Solr
- 24. Comenzando con Solr
- 25. ¿Existe una mejor práctica schema.xml para SOLR al importar documentos enriquecidos?
- 26. Actualizar solr 1.4 index a solr 3.3?
- 27. Aceleración de la búsqueda SOLR
- 28. java - Funcionamientos de MongoDB + Solr
- 29. Booleano NO en la consulta solr
- 30. ¿Cómo escribir documentos importantes?
¡Esa es una gran lista! Todavía uso 1.3, pero esa es una razón convincente para analizar el cambio. –
sí, Solr 1.4 acaba de ser RC, la versión final es inminente. –
Hola Mauricio, ¿hay algún buen ejemplo de cómo usar preImportDeleteQuery cuando realizas importación delta en documentos eliminados? – Joyce