Just saw this:

https://issues.apache.org/jira/browse/SOLR-4134

so I don't think you can do what you want currently without the patch.

Erick


On Fri, Dec 21, 2012 at 7:58 AM, Erick Erickson <erickerick...@gmail.com>wrote:

> 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