Thanks Andrea for the detailed explanation.
On Dec 19, 2015 1:34 PM, "Andrea Gazzarini" <a.gazzar...@gmail.com> wrote:

> That has nothing to do with your topic: addField adds a new value for a
> given field in a SolrInputDocument, while setField replaces any existing
> value (of a given field, regardless what is the existing value, I mean,
> regardless if that field has zero, one or more values).
>
> SolrInputDocument document = new SolrInputDocument();
>
> document.set("id", 32872382); // the id field has now one value:  32872382
>
> document.add("author", "B. Meyer") // the author field has one value. In
> this case, being the first value, add() and set() behave in the the same
> way
>
> document.add("author", "A. Yersu") // Now the author field has two values
> document.set("author", "I.UUhash") // That will replace the existing two
> values with this value.
>
>
> solrClient.add(document); // here, You are sending  document with 1 id and
> 1 author
>
>
>
> Those are methods of SolrInputDocument; when you call them, you're changing
> the state of a local transfer object (the SolrInputDocument instance).
> Before sending that to Solr using solrClient.add(SolrInputDocument) you can
> do whatever you want with that instance (i.e. removing, adding, setting
> values). The "document" representation that Solr will see is the state of
> the instance that you pass to solrClient.add(...)
>
> Best,
> Andrea
>
>
> 2015-12-19 8:48 GMT+01:00 Debraj Manna <subharaj.ma...@gmail.com>:
>
> > Ok. Then what is the difference between addField
> > <
> >
> http://github.com/apache/lucene-solr/tree/lucene_solr_5_3_1/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java#L150
> > >
> > & setField
> > <
> >
> http://www.solr-start.com/javadoc/solr-lucene/org/apache/solr/common/SolrInputDocument.html#setField-java.lang.String-java.lang.Object-float-
> > >
> > ?
> >
> > On Sat, Dec 19, 2015 at 1:04 PM, Andrea Gazzarini <a.gazzar...@gmail.com
> >
> > wrote:
> >
> > > As far as I know, this is how Solr works (e.g. it replaces the whole
> > > document): how do you replace only a part of a document?
> > >
> > > Just send a SolrInputDocument with an existing (i.e. already indexed)
> id
> > > and the document (on Solr) will be replaced.
> > >
> > > Andrea
> > >
> > > 2015-12-19 8:16 GMT+01:00 Debraj Manna <subharaj.ma...@gmail.com>:
> > >
> > > > Can someone let me know how can I replace a document on each update
> in
> > > Solr
> > > > 5.2.1 using SolrJ? I don;t want to update parts of the document. On
> > doing
> > > > update it should replace the entire document.
> > > >
> > >
> >
>

Reply via email to