c'è la possibilità di aggiornare un nuovo campo in un documento esistente? Ad esempio: C'è un documento con diversi campi, ad es.Aggiornare un nuovo campo nel documento esistente
ID=99999
Field1:text
Field2:text
Questo documento è già nell'indice, ora voglio inserire un nuovo campo a questo documento senza i vecchi dati:
ID=99999
Field3:text
Per il momento, il vecchio documento verrà eliminato e un nuovo verrà creato un documento con l'ID. Quindi, se ora cerco il ID 99999 il risultato sarà:
ID=99999
Field3:text
ho letto questo al Solr Wiki
Come posso aggiornare un campo specifico di un documento esistente?
Desidero aggiornare un campo specifico in un documento, è possibile? Ho solo bisogno di indicizzare un campo per> un documento specifico. Devo indicizzare tutto il documento per questo?
No, solo l'unico documento. Supponiamo di avere un CMS e di modificare un documento. È necessario reindicizzare questo documento solo utilizzando l'istruzione add solr per l'intero documento (non solo un campo).
In Lucene per aggiornare un documento l'operazione è in realtà un'eliminazione seguita da un add. Avrai bisogno di aggiungere il documento completo in quanto non esiste una semantica del tipo "aggiorna solo un campo" in Lucene.
Quindi c'è qualche soluzione per questo? Questa funzione sarà implementata in un'ulteriore versione (attualmente utilizzo 3.6.0). Come soluzione, ho pensato di scrivere uno script o un'applicazione, che raccoglierà i campi esistenti, aggiungere il nuovo campo e aggiornare l'intero documento. Ma penso che questo risentirà delle prestazioni. Hai qualche altra idea?
migliori saluti
Grazie mille! La tua prima risposta è proprio quello a cui ho pensato. Pensi che questo sarà molto penalizzato dalle prestazioni? Per la risposta 2: puoi darmi un link ufficiale con questo log delle modifiche? Non ero in grado di trovare questa funzione. Nice link :-) –
Dipende dalla frequenza con cui si apportano modifiche, quanto è grande l'indice, quanto sono grandi i documenti, quale hardware si sta utilizzando. Come ogni cambiamento costa IO, CPU ecc., Dovresti sperimentare quanto nel tuo caso. Per la seconda parte non riesco a trovarlo nel registro: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?view=markup tuttavia Yonik Seeley sta confermando che in http: // grokbase.com/t/lucene/solr-user/127bc3svh7/updating-documents – Fuxi
Il mio indice contiene circa 1,8 milioni di documenti, ogni documento ha circa 10-30 campi multivalore. Il problema è che lo sviluppo dell'applicazione avrà un costo eccessivo, se non posso usarlo a causa di una perdita di prestazioni elevata. Si consiglia di cambiare la versione alla versione alpha 4.0? Hai qualche esperienza? Grazie mille :-) –