Thanks Alex and William for the suggestions.  I'll try out the approach
storing the JSON string.

On Sat, Nov 15, 2014 at 5:27 PM, William Bell <billnb...@gmail.com> wrote:

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



-- 
SeekWWW: the Search Engine of Choice
www.seekwww.com

Reply via email to