Hmmm, looks like it might be a bug, but I don't know that code at all.
Wonder what Yonik would have to say....


On Wed, Dec 19, 2012 at 9:52 AM, Dikchant Sahi <contacts...@gmail.com>wrote:

> Hi Erick,
>
> The name field is stored. I experience problem only when I update
> multiValued field with multiple values like,
> * <field name="skills" update="set">solr</field>*
> * <field name="skills" update="set">lucene</field>*
> *
> *
> It works perfect, when I set single value for multiValued field like,
> *<field name="skills" update="set">solr</field>*
>
> Thanks,
> Dikchant
>
> On Wed, Dec 19, 2012 at 6:25 PM, Erick Erickson <erickerick...@gmail.com
> >wrote:
>
> > FIrst question: Is the "name" field stored (stored="true")? If it isn't,
> > that would explain your problems with that field. _all_ relevant fields
> > (i.e. everything not a destination of a copyField) need to be stored for
> > atomic updates to work.
> >
> > Your second problem I'm not sure about. I remember some JIRAs about
> > multivalued fields and atomic updates, you might get some info from the
> > JIRAs here: https://issues.apache.org/jira/browse/SOLR
> >
> > but updating multiValued fields _should_ work...
> >
> > Best
> > Erick
> >
> >
> > On Tue, Dec 18, 2012 at 2:20 AM, Dikchant Sahi <contacts...@gmail.com
> > >wrote:
> >
> > > Hi,
> > >
> > > Does Solr 4.0 allows to update the values of multi-valued field? Say I
> > have
> > > list of values for skills field like java, j2ee and i want to change it
> > > to solr, lucene.
> > >
> > > I was trying to play with atomic updates and below is my observation:
> > >
> > > I have following document in my index:
> > > <doc>
> > > <str name="id">1</str>
> > > <str name="name">Dikchant</str>
> > > <str name="profession">software engineer</str>
> > > <arr name="skills">
> > > <str>java</str>
> > > <str>j2ee</str>
> > > </arr>
> > > </doc>
> > >
> > > To update the skills to solr, lucene, I indexed document as follows:
> > >
> > > *<add>*
> > > *  <doc>*
> > > *    <field name="id">1</field>*
> > > *    <field name="skills" update="set">solr</field>*
> > > *    <field name="skills" update="set">lucene</field>*
> > > *  </doc>*
> > > *</add>*
> > >
> > > The document added to index is as follows:
> > > *<doc>*
> > > *  <str name="id">1</str>*
> > > *  <arr name="skills">*
> > > *    <str>{set=solr}</str>*
> > > *    <str>{set=lucene}</str>*
> > > *  </arr>*
> > > *</doc>*
> > >
> > > This is not what I was looking for. I found 2 issues:
> > > 1. The value of name field was lost
> > > 2. The skills fields had some junks like *{set=solr}*
> > > *
> > > *
> > > *
> > > *
> > > Then, to achieve my goal, I tried something different. I tried setting
> > some
> > > single valued field with update="set" parameter to the same value and
> > also
> > > provided the values of multi-valued field as we do while adding new
> > > document.
> > > <add>
> > >   <doc>
> > >     <field name="id">1</field>
> > >     *<field name="name" update="set">Dikchant</field>*
> > >     <field name="skills">solr</field>
> > >     <field name="skills">lucene</field>
> > >   </doc>
> > > </add>
> > >
> > > With this the index looks as follows:
> > > <doc>
> > > <str name="id">1</str>
> > > <str name="name">Dikchant</str>
> > > <str name="profession">software engineer</str>
> > > <arr name="skills">
> > > <str>solr</str>
> > > <str>lucene</str>
> > > </arr>
> > > </doc>
> > >
> > > The values of multivalued field is changed and value of other field is
> > not
> > > deleted.
> > >
> > > The question that comes to my mind is, does Solr 4.0 allows update of
> > > multi-valued field? if yes, is this how it works or am I doing
> something
> > > wrong?
> > >
> > > Regards,
> > > Dikchant
> > >
> >
>

Reply via email to