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 > > > > > >