Solr 4 beta está fuera, la versión de GA seguirá pronto. Las actualizaciones parciales de documentos han estado disponibles por un tiempo, como se explica aquí: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/solrj api para la actualización de documento parcial
Sin embargo, no he descubierto cómo hacerlo con solrj api.
¿Alguien sabe si es posible con solrj? ¿O simplemente no está actualizado con esta función?
actualización: como lo describo en la lista de correo (véase la respuesta here), encontré que en la API SolrJ, el valor de una SolrInputField puede ser un mapa - que no tiene que ser un valor escalar sencilla . Si es un mapa, solrj agrega un atributo adicional update
al elemento xml del campo. Por ejemplo, este código:
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);
produce este documento:
<doc boost="1.0">
<field name="id">test_123</field>
<field name="description" update="set">foo</field>
</doc>
En este ejemplo he utilizado la palabra "ajuste" para este atributo adicional, pero no funciona. Solr no actualiza el campo como esperaba. Según este enlace: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/ los valores válidos son "establecer" y "agregar".
¿Alguna idea?
Esto podría ayudar a [Solr-actualización] [1] [1]: http://stackoverflow.com/questions/8365713/solr-update-specific-fields-rather-than -entire-document – prashant
@prashant la respuesta en esa pregunta está desactualizada. Hay otra respuesta en un duplicado de esa pregunta, pero tampoco ayuda – Yoni
, puede insertar una lista de valores usando 'ArrayList', luego la' partialUpdate' se declarará como 'Map partialUpdate = new HashMap (); 'y la clave como' add' –
veer7