solr - Partial Update of documents -


we have requirement documents index in solr may periodically need partially updated. updates can either a. add new fields b. update content of existing fields. of fields in our schema stored, others not.

solr 4 allow fields must stored. see update new field existing document , http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/

questions: 1. there way solr can achieve this. we've tried solr joins in past wasn't right fit our use cases.

  1. on other hand, can elastic search , linkedin's senseidb or other text search engines achieve ?

for now, manage re-indexing affected documents when need indexed

thanks

solr has limitation of stored fields, that's correct. underlying lucene requires delete old document , index new one. in fact lucene segments write-once, never goes modify existing ones, markes documents deleted , deletes them real when merge happens.

search servers on top of lucene try work around problem exposing single endpoint that's able delete old document , reindex new 1 automatically, there must way retrieve old document somehow. solr can if store fields.

elasticsearch works around storing source documents default, in special field called _source. that's document sent search engine in first place, while indexing. way 1 of features make elasticsearch similar nosql databases. elasticsearch update api allows update document in 2 ways:

  1. sending new partial document merged existing 1 (still deleting old 1 , indexing result of merge
  2. executing script on existing document , indexing result after deleting old one

both options rely on presence of _source field. storing source can disabled, if disable of course lose great feature.


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -