Hey Furkan and solr users This is a miss reported problem. It's not solr problem but our data issue. Sorry for this.
It's a data issue of our side, a coupon happened to have two piece English description, which is not allowed in our business logic, but it happened and we added twice of the name_en_US to solr document. I've done a set of test and deep debugging to solr source code, and found out that a array like string such as [Get 20% Off Official Barca Kits, coupon] won't be treated as multivalued field. Sorry again for not digging more before sent out question email. I trust our business logic and data integrity more than solr, I will definitely not do this again. ;-) All the best Liu Bo On 11 December 2013 07:21, Furkan KAMACI <furkankam...@gmail.com> wrote: > Hi Liu; > > Yes. it is an expected behavior. If you send data within square brackets > Solr will behave it as a multivalued field. You can test it with this way: > if you use Solrj and use a List for a field it will be considered as > multivalued too because when you call toString() method of your List you > can see that elements are printed within square brackets. This is the > reason that a List can be used for a multivalued field. > > If you explain your situation I can offer a way how to do it. > > Thanks; > Furkan KAMACI > > > 2013/12/6 Liu Bo <diabl...@gmail.com> > > > Dear solr users: > > > > I've met this kind of error several times, > > > > when add a "array" liked string such as:[Get 20% Off Official Barça Kits, > > coupon] to a multiValued="false" field, solr will complain: > > > > org.apache.solr.common.SolrException: ERROR: [doc=7781396456243918692] > > multiple values encountered for non multiValued field name_en_US: [Get > 20% > > Off Official Barca Kits, coupon] > > > > my schema defination: > > <field name="name_en_US" type="text_en" indexed="true" stored="true" > > multiValued="false" /> > > > > This field is stored as the search result needs this field and it's value > > in original format, and indexed to give it a boost while searching . > > > > What I do is adding name (java.lang.String) to SolrInputDocument by > > addField("name_en_US", product.getName()) method, and then add this to > solr > > using an AddUpdateCommand > > > > It seems solr treats this kind of string data as multivalued, even I add > > this field to solr only once. > > > > Is this a bug or a supposed behavior? > > > > Is there any way to tell solr this is not a "multivalued value" add don't > > break it? > > > > Your help and suggestion will be much of my appreciation. > > > > -- > > All the best > > > > Liu Bo > > > -- All the best Liu Bo