lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aman Tandon <amantandon...@gmail.com>
Subject Re: solr update dynamic field generates multiValued error
Date Mon, 21 Sep 2015 13:45:12 GMT
Sure. thank you Upayavira

With Regards
Aman Tandon

On Mon, Sep 21, 2015 at 6:01 PM, Upayavira <uv@odoko.co.uk> wrote:

> You cannot do multi valued fields with LatLongType fields. Therefore, if
> that is a need, you will have to investigate RPT fields.
>
> I'm not sure how you do distance boosting there, so I'd suggest you ask
> that as a separate question with a new title.
>
> Upayavira
>
> On Mon, Sep 21, 2015, at 01:27 PM, Aman Tandon wrote:
> > We are using LatLonType to use the gradual boosting / distance based
> > boosting of search results.
> >
> > With Regards
> > Aman Tandon
> >
> > On Mon, Sep 21, 2015 at 5:39 PM, Upayavira <uv@odoko.co.uk> wrote:
> >
> > > Aman,
> > >
> > > I cannot promise to answer questions promptly - like most people on
> this
> > > list, we answer if/when we have a gap in our workload.
> > >
> > > The reason you are getting the non multiValued field error is because
> > > your latlon field does not have multiValued="true" enabled.
> > >
> > > However, the field type definition notes that this field type does not
> > > support multivalued fields, so you're not gonna get anywhere with that
> > > route.
> > >
> > > Have you tried the location_rpt type?
> > > (solr.SpatialRecursivePrefixTreeFieldType). This is a newer, and as I
> > > understand it, far more flexible field type - for example, you can
> index
> > > shapes into it as well as locations.
> > >
> > > I'd suggest you read this page, and pay particular attention to
> mentions
> > > of RPT:
> > >
> > > https://cwiki.apache.org/confluence/display/solr/Spatial+Search
> > >
> > > Upayavira
> > >
> > > On Mon, Sep 21, 2015, at 10:36 AM, Aman Tandon wrote:
> > > > Upayavira, please help
> > > >
> > > > With Regards
> > > > Aman Tandon
> > > >
> > > > On Mon, Sep 21, 2015 at 2:38 PM, Aman Tandon <
> amantandon.10@gmail.com>
> > > > wrote:
> > > >
> > > > > Error is
> > > > >
> > > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > > <response>
> > > > > <lst name="responseHeader"><int name="status">400</int><int
> > > > > name="QTime">28</int></lst><lst name="error"><str
name="msg">ERROR:
> > > > > [doc=9474144846] multiple values encountered for non multiValued
> field
> > > > > latlon_0_coordinate: [11.0183, 11.0183]</str><int
> > > > > name="code">400</int></lst>
> > > > > </response>
> > > > >
> > > > > And my configuration is
> > > > >
> > > > > <!-- Type used to index the lat and lon components for the
> "location"
> > > > > FieldType -->
> > > > >    <dynamicField name="*_coordinate"  type="tdouble" indexed="true"
> > > > >  stored="true" />
> > > > >
> > > > >  <!-- A specialized field for geospatial search. If indexed, this
> > > > > fieldType must not be multivalued. -->
> > > > >     <fieldType name="location" class="solr.LatLonType"
> > > > > subFieldSuffix="_coordinate"/>
> > > > >
> > > > >   <field name="latlon" type="location" indexed="true" stored="true"
> > > > > required="false" multiValued="false" />
> > > > >
> > > > >  how you know it is because of stored="true"?
> > > > >
> > > > > As Erick replied in the last mail thread,
> > > > > I'm not getting any multiple values in the _coordinate fields.
> > > However, I
> > > > > _do_ get the error if my dynamic *_coordinate field is set to
> > > > > stored="true".
> > > > >
> > > > > And stored="true" is mandatory for using the atomic updates.
> > > > >
> > > > > With Regards
> > > > > Aman Tandon
> > > > >
> > > > > On Mon, Sep 21, 2015 at 2:22 PM, Upayavira <uv@odoko.co.uk>
wrote:
> > > > >
> > > > >> Can you show the error you are getting, and how you know it is
> because
> > > > >> of stored="true"?
> > > > >>
> > > > >> Upayavira
> > > > >>
> > > > >> On Mon, Sep 21, 2015, at 09:30 AM, Aman Tandon wrote:
> > > > >> > Hi Erick,
> > > > >> >
> > > > >> > I am getting the same error because my dynamic field
> *_coordinate is
> > > > >> > stored="true".
> > > > >> > How can I get rid of this error?
> > > > >> >
> > > > >> > And I have to use the atomic update. Please help!!
> > > > >> >
> > > > >> > With Regards
> > > > >> > Aman Tandon
> > > > >> >
> > > > >> > On Tue, Aug 5, 2014 at 10:27 PM, Franco Giacosa <
> fgiacosa@gmail.com
> > > >
> > > > >> > wrote:
> > > > >> >
> > > > >> > > Hey Erick, i think that you were right, there was a
mix in the
> > > > >> schemas and
> > > > >> > > that was generating the error on some of the documents.
> > > > >> > >
> > > > >> > > Thanks for the help guys!
> > > > >> > >
> > > > >> > >
> > > > >> > > 2014-08-05 1:28 GMT-03:00 Erick Erickson <
> erickerickson@gmail.com
> > > >:
> > > > >> > >
> > > > >> > > > Hmmm, I jus tried this with a 4.x build and I
can update the
> > > > >> document
> > > > >> > > > multiple times without a problem. I just indexed
the
> standard
> > > > >> exampledocs
> > > > >> > > > and then updated a doc like this (vidcard.xml
was the base):
> > > > >> > > >
> > > > >> > > > <add>
> > > > >> > > > <doc>
> > > > >> > > >   <field name="id">EN7800GTX/2DHTV/256M</field>
> > > > >> > > >
> > > > >> > > >   <field name="manu_id_s" update="set">eoe
changed this
> > > > >> puppy</field>
> > > > >> > > > </doc>
> > > > >> > > >   <!-- yes, you can add more than one document
at a time -->
> > > > >> > > > </add>
> > > > >> > > >
> > > > >> > > > I'm not getting any multiple values in the _coordinate
> fields.
> > > > >> However, I
> > > > >> > > > _do_ get the error if my dynamic *_coordinate
field is set
> to
> > > > >> > > > stored="true".
> > > > >> > > >
> > > > >> > > > Did you perhaps change this at some point? Whenever
I
> change the
> > > > >> schema,
> > > > >> > > I
> > > > >> > > > try to 'rm -rf solr/collection/data' just to be
sure I've
> > > purged all
> > > > >> > > traces
> > > > >> > > > of the former schema definition.
> > > > >> > > >
> > > > >> > > > Best,
> > > > >> > > > Erick
> > > > >> > > >
> > > > >> > > >
> > > > >> > > > On Mon, Aug 4, 2014 at 7:04 PM, Franco Giacosa
<
> > > fgiacosa@gmail.com>
> > > > >> > > wrote:
> > > > >> > > >
> > > > >> > > > > No, they are not declarad explicitly.
> > > > >> > > > >
> > > > >> > > > > This is how they are created:
> > > > >> > > > >
> > > > >> > > > > <field name="latLong" type="location"
indexed="true"
> > > > >> stored="true"/>
> > > > >> > > > >
> > > > >> > > > > <dynamicField name="*_coordinate"  type="tdouble"
> > > indexed="true"
> > > > >> > > > >  stored="false"/>
> > > > >> > > > >
> > > > >> > > > > <fieldType name="location" class="solr.LatLonType"
> > > > >> > > > > subFieldSuffix="_coordinate"/>
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > 2014-08-04 22:28 GMT-03:00 Michael Ryan <
> mryan@moreover.com>:
> > > > >> > > > >
> > > > >> > > > > > Are the latLong_0_coordinate and latLong_1_coordinate
> fields
> > > > >> > > populated
> > > > >> > > > > > using copyField? If so, this sounds
like it could be
> > > > >> > > > > > https://issues.apache.org/jira/browse/SOLR-3502.
> > > > >> > > > > >
> > > > >> > > > > > -Michael
> > > > >> > > > > >
> > > > >> > > > > > -----Original Message-----
> > > > >> > > > > > From: Franco Giacosa [mailto:fgiacosa@gmail.com]
> > > > >> > > > > > Sent: Monday, August 04, 2014 9:05 PM
> > > > >> > > > > > To: solr-user@lucene.apache.org
> > > > >> > > > > > Subject: solr update dynamic field generates
multiValued
> > > error
> > > > >> > > > > >
> > > > >> > > > > > Hello everyone, this is my first time
posting a
> question, so
> > > > >> forgive
> > > > >> > > me
> > > > >> > > > > if
> > > > >> > > > > > i'm missing something.
> > > > >> > > > > >
> > > > >> > > > > > This is my problem:
> > > > >> > > > > >
> > > > >> > > > > > I have a schema.xml that has the following
latLong
> > > information
> > > > >> > > > > >
> > > > >> > > > > > The dynamicField generates 2 dynamic
fields that have
> the
> > > lat
> > > > >> and the
> > > > >> > > > > long
> > > > >> > > > > > (latLong_0_coordinate and latLong_1_coordinate)
> > > > >> > > > > >
> > > > >> > > > > > So for example a document will have
> > > > >> > > > > >
> > > > >> > > > > > "latLong_0_coordinate": 40.4114, "latLong_1_coordinate":
> > > > >> -74.1031,
> > > > >> > > > > > "latLong": "40.4114,-74.1031",
> > > > >> > > > > >
> > > > >> > > > > > Now when I try to update a document
(i don't update the
> > > latLong
> > > > >> > > field.
> > > > >> > > > I
> > > > >> > > > > > just update other parts of the document
using atomic
> update)
> > > > >> solr
> > > > >> > > > > > re-creates the dynamicField and adds
the same value
> again,
> > > like
> > > > >> its
> > > > >> > > > using
> > > > >> > > > > > add instead of set. So when i do an
update the fields
> of the
> > > > >> doc look
> > > > >> > > > > like
> > > > >> > > > > > this
> > > > >> > > > > >
> > > > >> > > > > > "latLong_0_coordinate": [40.4114,40.4114]
> > > > >> "latLong_1_coordinate":
> > > > >> > > > > > [-74.1031,-74.1031] "latLong": "40.4114,-74.1031",
> > > > >> > > > > >
> > > > >> > > > > > So the dynamicFields now have 2 values,
so the next time
> > > that I
> > > > >> want
> > > > >> > > to
> > > > >> > > > > > update the document a schema error is
throw because im
> > > trying to
> > > > >> > > store
> > > > >> > > > a
> > > > >> > > > > > collection into a none multivalued field.
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > > > Thanks in advanced.
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >>
> > > > >
> > > > >
> > >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message