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