Solr 4 beta è fuori, la versione GA seguirà presto. Gli aggiornamenti dei documenti parziali sono in corso da un po 'come spiegato qui: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/solrj api per aggiornamento documento parziale
Tuttavia, non ho capito come farlo con solrj api.
Qualcuno sa se è possibile con solrj? Oppure è sufficiente non essere al passo con questa funzione?
aggiornamento: come ho descritto nella mailing list (si veda la risposta here), ho scoperto che nel api solrj, il valore di un SolrInputField può essere una mappa - non deve essere un valore scalare semplice . Se è una mappa, solrj aggiunge un ulteriore attributo update
all'elemento xml del campo. Per esempio, Questo codice:
SolrInputDocument doc = new SolrInputDocument();
Map<String, String> partialUpdate = new HashMap<String, String>();
partialUpdate.put("set", "foo");
doc.addField("id", "test_123");
doc.addField("description", partialUpdate);
cede questo documento:
<doc boost="1.0">
<field name="id">test_123</field>
<field name="description" update="set">foo</field>
</doc>
In questo esempio ho usato la parola "set" per questo attributo aggiuntivo, ma non funziona. Solr non aggiorna il campo come mi aspettavo. Secondo questo link: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/ i valori validi sono "set" e "add".
Qualche idea?
Questo potrebbe aiutare a [solr-update] [1] [1]: http://stackoverflow.com/questions/8365713/solr-update-specific-fields-rather-than -ire-document – prashant
@prashant la risposta in quella domanda è superata. C'è un'altra risposta in un duplicato di quella domanda, ma non aiuta né lo – Yoni
è possibile inserire l'elenco di valori usando 'ArrayList', quindi' partialUpdate' sarà dichiarato come 'Mappa partialUpdate = new HashMap (); 'e la chiave come' add' –
veer7