You can take 4.* of Solr and just apply my fix. Store JSON stringified into a string field (make sure the field name ends in _json). Then you can output with: wt=json&json.fsuffix=_json
OK? Use SOLR-4685. On Sat, Nov 15, 2014 at 5:07 PM, Alexandre Rafalovitch <arafa...@gmail.com> wrote: > It sounds to me that you are not actually searching on the state or > price. So, does it make sense to store it in Solr? Maybe it should > stay in external database and you merge it. Or store (not index) that > json as pure text field and parse what you need out of it manually, as > you would with Elasticsearch. > > But if you want to store states/prices separately in Solr, then you do > have to pay the price somehow, right? And 50 times more documents may > not actually have any impact on your performance. Solr scales really > well. Especially, if you don't need to display some fields, because > tokens in store=false/index=true fields are only stored once. > > Regards, > Alex. > Personal: http://www.outerthoughts.com/ and @arafalov > Solr resources and newsletter: http://www.solr-start.com/ and @solrstart > Solr popularizers community: https://www.linkedin.com/groups?gid=6713853 > > > On 15 November 2014 18:53, David Lee <seek...@gmail.com> wrote: > > Assume that we are selling a product online to 50 states in the USA. > But > > each state has its own price. ALthough the base product information is > the > > same, the index size will increase 50 times if we index that way. > > > > The usage is similar as searching a product; but based on the location of > > the user (e.g., which state the user is from), we may show a different > > price. > > > > On Sat, Nov 15, 2014 at 3:40 PM, Alexandre Rafalovitch < > arafa...@gmail.com> > > wrote: > > > >> The first link shows how to create children with specific content, but > >> you need to use "_childDocuments_":... explicitly instead of the > >> "prices: " and perhaps add "type: price" or some such to differentiate > >> record types. > >> > >> But I am not quite following why you say it will increase 50 times. By > >> comparison to what? How did you want the children documents to be > >> stored/found (in Elasticsearch or Solr)? > >> > >> One way to think through this problem is to be explicit about what the > >> _search_ would look like and then adjust indexing accordingly. > >> > >> > >> Regards, > >> Alex. > >> Personal: http://www.outerthoughts.com/ and @arafalov > >> Solr resources and newsletter: http://www.solr-start.com/ and > @solrstart > >> Solr popularizers community: > https://www.linkedin.com/groups?gid=6713853 > >> > >> > >> On 15 November 2014 18:24, David Lee <seek...@gmail.com> wrote: > >> > Thanks Alex. I take a look at the approach of transforming JSON > >> document > >> > before mapping it to the Solr schema at > >> > http://lucidworks.com/blog/indexing-custom-json-data/ . > >> > > >> > It's a walk-around. But in my case, if every state has its own > price, > >> > the number of documents needs to be indexed will increase 50 times, > >> which > >> > may have negative impact on performance,etc. > >> > > >> > {prices:[{state:"CA", price:"101.0"}, {state:"NJ", > >> > price:"102.0"},{state:"CO", price:"102.0"}]} > >> > > >> > Is there any other better solution? > >> > > >> > Thanks, > >> > DL > >> > > >> > On Sat, Nov 15, 2014 at 2:17 PM, Alexandre Rafalovitch < > >> arafa...@gmail.com> > >> > wrote: > >> > > >> >> It's simple in Elasticsearch, but what you actually get is a single > >> >> document and all it's children data ({state, price}) entries are > >> >> joined together behind the scenes into the multivalued fields. Which > >> >> may or may not be an issue for you. > >> >> > >> >> For Solr, nested documents need to be parent/child separate > documents. > >> >> And the syntax is a bit more explicit. So, you can either provide > more > >> >> explicit JSON: > >> >> > >> >> > >> > https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Index+Handlers#UploadingDatawithIndexHandlers-NestedChildDocuments > >> >> > >> >> or transform JSON document before mapping it to the Solr schema: > >> >> http://lucidworks.com/blog/indexing-custom-json-data/ (latest 4.10 > >> Solr). > >> >> > >> >> Regards, > >> >> Alex. > >> >> Personal: http://www.outerthoughts.com/ and @arafalov > >> >> Solr resources and newsletter: http://www.solr-start.com/ and > >> @solrstart > >> >> Solr popularizers community: > >> https://www.linkedin.com/groups?gid=6713853 > >> >> > >> >> > >> >> On 15 November 2014 17:05, David Lee <seek...@gmail.com> wrote: > >> >> > Hi All, > >> >> > > >> >> > How do I index complex JSON data in SOLR? For example, > >> >> > > >> >> > {prices:[{state:"CA", price:"101.0"}, {state:"NJ", > >> >> > price:"102.0"},{state:"CO", price:"102.0"}]} > >> >> > > >> >> > > >> >> > It's simple in ElasticSearch, but in SOLR it always reports the > >> following > >> >> > error: > >> >> > "Error parsing JSON field value. Unexpected OBJECT_START" > >> >> > > >> >> > > >> >> > Thanks, > >> >> > DL > >> >> > >> > > >> > > >> > > >> > -- > >> > SeekWWW: the Search Engine of Choice > >> > www.seekwww.com > >> > > > > > > > > -- > > SeekWWW: the Search Engine of Choice > > www.seekwww.com > -- Bill Bell billnb...@gmail.com cell 720-256-8076