bq: I was able to get it to work with after I removed my schema.xml and modified the managed-schema to add my fields
That's fine. You have three options and they can be confusing: 1> use classic schema (i.e. schema.xml). Requires that you replace the managed schema definition with classic in solrcofnig.xml, it'll look something like: <schemaFactory class="ClassicIndexSchemaFactory"/> 2> use managed scheama 2a> without "field guessing". In this mode you take out stuff like "add-unknown-fields-to-the-schema" in solrconfig.xml (really the chain). You can hand-edit the managed-schema file freely. HOWEVER, you should be very controlled when mixing hand-editing the managed-schema file with using the managed-schema API to modify it. The managed-schema API will overwrite the config with whatever is in memory so your hand-edits may be lost. 2b> Allow Solr to try to infer fields based on the first one encountered, "schemaless mode". This is the _default config in 7x. See the "Schema Factory Definition in SolrConfig" section of the reference guide. Best, Erick On Mon, Feb 19, 2018 at 5:28 AM, Aakanksha Gupta <aakankshagupta2...@gmail.com> wrote: > Thanks David. That was helpful. I was able to get it to work with after I > removed my schema.xml and modified the managed-schema to add my fields. I'm > not sure if this is the right thing to do, but this is how I got it to work > :) > > On Mon, Feb 19, 2018 at 7:54 AM, Howe, David <david.h...@auspost.com.au> > wrote: > >> 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:aakankshagupta2...@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 >> 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 >> >> 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 >> <https://maps.google.com/?q=Level+16,+111+Bourke+Street%0D+Melbourne%0D+VIC%0D+3000&entry=gmail&source=g> >> Melbourne >> <https://maps.google.com/?q=Level+16,+111+Bourke+Street%0D+Melbourne%0D+VIC%0D+3000&entry=gmail&source=g> >> VIC >> <https://maps.google.com/?q=Level+16,+111+Bourke+Street%0D+Melbourne%0D+VIC%0D+3000&entry=gmail&source=g> >> 3000 >> <https://maps.google.com/?q=Level+16,+111+Bourke+Street%0D+Melbourne%0D+VIC%0D+3000&entry=gmail&source=g> >> >> T 0391067904 >> >> M 0424036591 >> >> E david.h...@auspost.com.au >> [image: Australia Post website] <https://auspost.com.au> >> [image: StarTrack website] <https://startrack.com.au/> >> [image: Follow us on Twitter] <https://twitter.com/auspost> [image: Like >> us on Facebook] <https://www.facebook.com/australiapost> [image: 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. >>