Sto giocando con una ricerca basata su Solr per la mia webapp, e ho pensato che sarebbe stato meglio usare DataImportHandler per gestire la sincronizzazione con l'app tramite il database. Mi piace l'eleganza di controllare solo il campo last_updated_date
. Roba buona. Tuttavia, non so come gestire l'eliminazione di documenti con questo approccio. Per come la vedo io, ho 2 scelte. Potrei inviare un messaggio esplicito a Solr dal client quando un documento viene cancellato, oppure aggiungere un flag "eliminato" e lasciare l'oggetto nel database, in modo che Solr possa notare che il documento è cambiato ed è ora "cancellato" ". Potrei aggiungere un filtro di query che ignorerebbe i risultati con il flag eliminato, ma sembra inefficiente includere tutti i documenti cancellati nell'indice di Lucene. Cosa fanno gli altri?Solr DIH - Come gestire i documenti cancellati?
16
A
risposta
20
Queste sono le opzioni:
- Usa DIH special commands $ deleteDocById o $ deleteDocByQuery (richiede Solr 1.4+)
- Utilizzare la clean parameter di DIH per cancellare l'intero indice prima di importare.
- Utilizzare preImportDeleteQuery per definire cosa verrà ripulito prima dell'importazione. (richiede Solr 1.4+)
- Utilizzare i trigger di database invece di DIH per gestire l'aggiornamento dell'indice.
- Se stai usando una sorta di ORM usa le sue capacità di intercettazione invece di DIH. Ad esempio, è possibile utilizzare hibernate events per aggiornare l'indice durante l'aggiornamento, l'inserimento o l'eliminazione.
2
Mi piace avere un flag "eliminato", quindi in realtà non eliminare i miei dati! Dipende da come sei paranoico. Mi piacciono i suggerimenti di Mauricio ...
+0
flag "cancellato" = buona chiamata! – Brian
Problemi correlati
- 1. Come formattare i documenti risultato solr?
- 2. Come si indicizzano i documenti in SOLR?
- 3. Come recuperare da file indice cancellati Solr?
- 4. Solr DIH delta-import con le chiavi primarie composte?
- 5. Come gestire i dati relazionali in Solr
- 6. Eliminazione di documenti solr dall'amministratore Solr
- 7. In dih Solr importare due doppie in un unico luogo
- 8. Come modificare git add per gestire i file cancellati?
- 9. Solr, come definire i documenti nidificati nello schema.xml
- 10. Come aggiornare i documenti Solr sul lato server Solr con gestore/plug-in personalizzato
- 11. Eliminare documenti da Solr usando l'interfaccia utente?
- 12. Come recuperare spazio per i LOB cancellati
- 13. Come vengono ordinati i risultati in solr in una query "corrisponde a tutti i documenti"
- 14. Il modo ideale per gestire i risultati Solr in PHP?
- 15. Come aggiornare più documenti in Solr con JSON?
- 16. Come rimuovere i file cancellati da .git?
- 17. È possibile recuperare i file cancellati cancellati in perforce?
- 18. I tipi cancellati da haskell?
- 19. Git ignora i file cancellati
- 20. Come far funzionare i sinonimi solr
- 21. Indice documenti PDF in Solr dal client C#
- 22. documenti dell'Ordine Solr con stesso punteggio per Aggiunto scendendo
- 23. Come eliminare i documenti iCloud?
- 24. frequenti aggiornamenti Solr Documenti - Efficienza/scalabilità è relativa
- 25. Nome di colonna dinamico utilizzando DIH (DataImportHandler)
- 26. come ripristinare file cancellati
- 27. Come ottenere tutti i risultati dalla query solr?
- 28. Solr combina i campi data nell'ordinamento
- 29. Come posso vedere tutti i dati che solr sta indicizzando?
- 30. Come aggiungere nuovamente framework cancellati
Questa è una grande lista! Sto ancora usando 1.3, ma questa è una ragione convincente per guardare al passaggio. –
sì, Solr 1.4 è appena andato in onda, la versione finale è imminente. –
Ciao Mauricio, ci sono dei buoni esempi su come utilizzare preImportDeleteQuery quando si esegue l'importazione delta sui documenti cancellati? – Joyce