lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howe, David" <David.H...@auspost.com.au>
Subject RE: Getting the error - The field '*********' does not support spatial filtering
Date Sun, 18 Feb 2018 23:54:24 GMT
Hi Aakanksha,

We use the following for geo queries which works for us:

/solr/core/select?defType=edismax&indent=on&ps=0&start=0&wt=json&sow=true&hl=on&hl.fl=*&fq=%7B!geofilt%7D&pt=-6.08165,145.8612430&d=10&sfield=geoLocation&sort=geodist()%20asc&rows=10&fl=*,score,distance:geodist()

This gives us the results closest to the provided point in order of their distance from the
point.

Our field definition is:

  echo "$(date) Creating geoLocation field"
  curl -X POST -H 'Content-type:application/json' --data-binary '{
    "add-field":{
       "name":"geoLocation",
       "type":"location",
       "stored":true,
       "indexed":true
    }
  }' http://localhost:8983/solr/core/schema

We are running Solr 7.1.0.

Hope this helps.

Regards,

David


From: Aakanksha Gupta [mailto:aakankshagupta2000@gmail.com]
Sent: Monday, 19 February 2018 12:27 AM
To: solr-user@lucene.apache.org
Subject: Getting the error - The field '*********' does not support spatial filtering

Hi all,
I'm a newbie to Solr. I'm trying to use it for GeoSpatial Search and I'm facing an issue while
using it. I've tried using the new 'location' field type(<fieldType name="location" class="solr.LatLonPointSpatialField"
docValues="true"/>) as well as the deprecated solr.LatLonType fieldtype, but I always get
the error:



org.apache.solr.common.SolrException: The field latlong does not support spatial filtering
Here's a snippet of my field definition in schema.xml in the conf folder of my core:

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"
/>
    <!-- docValues are enabled by default for long type so we don't need to index the version
field  -->
    <field name="_version_" type="plong" indexed="false" stored="false"/>
    <field name="_root_" type="string" indexed="true" stored="false" docValues="false"
/>
    <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>
    <field name="driverid" type="pint" indexed="true" stored="true" />
    <field name="latlong" type="location" indexed="true" stored="true" />
    <field name="time" type="string" indexed="false" stored="true" />
    <field name="timestamp" type="plong" indexed="true" stored="true" />
    <field name="latlong2" type="loc" indexed="true" stored="true" />
    <field name="location_0_coordinate" type="double" indexed="true" stored="true" />
    <field name="location_1_coordinate" type="double" indexed="true" stored="true" />

And here are the field type definitions:
    <fieldType name="loc" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
    <fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/>
Here's the Query I'm running:
http://localhost:8983/solr/geo2/select?wt=json&q=:&fq={!geofilt<http://localhost:8983/solr/geo2/select?wt=json&q=:&fq=%7b!geofilt>
sfield=latlong}&pt=-6.08165,145.8612430&d=100

http://localhost:8983/solr/geo2/select/?q=*:*&fq={!geofilt}&sfield=latlong2&pt=-6.08165,145.8612430&d=100&wt=json<http://localhost:8983/solr/geo2/select/?q=*:*&fq=%7b!geofilt%7d&sfield=latlong2&pt=-6.08165,145.8612430&d=100&wt=json>
And here's the Java snippet I'm using to insert data:
        String urlString = "http://localhost:8983/solr/geo2";
        SolrClient solr = new HttpSolrClient.Builder(urlString).build();
        SolrInputDocument document = new SolrInputDocument();
        document.addField("id", UUID.randomUUID().toString());
        document.addField("driverid", "1");
        document.addField("latlong", "-6.081689,145.391881");
        document.addField("time", "7:01:17");
        document.addField("timestamp", Long.valueOf("1518908477190"));
        document.addField("latlong2", "-6.081689,145.391881");
        document.addField("location_0_coordinate", Double.valueOf(-6.081689));
        document.addField("location_1_coordinate", Double.valueOf(145.391881));
        UpdateResponse response = solr.add(document);
        solr.commit();
        response.getQTime();

I've attached my schema.xml file herewith. Can someone let me know what I'm doing wrong?



David Howe
Java Domain Architect
Postal Systems
Australia Post

Level 16, 111 Bourke Street Melbourne VIC 3000

T  0391067904

M 0424036591

E  David.Howe@auspost.com.au
[Australia Post website]<https://auspost.com.au>
[StarTrack website]<https://startrack.com.au/>
[Follow us on Twitter]<https://twitter.com/auspost> [Like us on Facebook] <https://www.facebook.com/australiapost>
 [Connect with us on LinkedIn] <https://www.linkedin.com/company/australia-post>


Australia Post is committed to providing our customers with excellent service. If we can assist
you in any way please telephone 13 13 18 or visit our website.

The information contained in this email communication may be proprietary, confidential or
legally professionally privileged. It is intended exclusively for the individual or entity
to which it is addressed. You should only read, disclose, re-transmit, copy, distribute, act
in reliance on or commercialise the information if you are authorised to do so. Australia
Post does not represent, warrant or guarantee that the integrity of this email communication
has been maintained nor that the communication is free of errors, virus or interference.

If you are not the addressee or intended recipient please notify us by replying direct to
the sender and then destroy any electronic or paper copy of this message. Any views expressed
in this email communication are taken to be those of the individual sender, except where the
sender specifically attributes those views to Australia Post and is authorised to do so.

Please consider the environment before printing this email.
Mime
  • Unnamed multipart/related (inline, None, 0 bytes)
View raw message