Hello, Sorry for the belated response.
Solr only supports sorting from point or rectangles in the index. For rectangles use BBoxField. For points, ideally use the new LatLonPointSpatialField; failing that use LatLonType. You can use RPT for point data but I don't recommend sorting with it; use one of the others just mentioned. ~ David On Tue, Sep 12, 2017 at 5:09 PM Grondin Luc <luc.gron...@umontreal.ca> wrote: > Hello, > > I am having difficulties with sorting by distance resources indexed with > WKT geolocation data. I have tried different field configurations and query > parameters and I did not get working results. > > I am using SOLR 6.6 and JTS-core 1.14. My test sample includes resources > with point coordinates plus one associated with a polygon. I tried using > both fieldtypes "solr.SpatialRecursivePrefixTreeFieldType" and > "solr.RptWithGeometrySpatialField". In both cases, I get good results if I > do not care about sorting. The problem arises when I include sorting. > > With SpatialRecursivePrefixTreeFieldType: > > The best request I used, based on the documentation I could find, was: > > select?fl=*,score&q={!geofilt%20sfield=PositionGeo%20pt=45.52,-73.53%20d=10%20score=distance}&sort=score%20asc > > The distance appears to be correctly evaluated for resources indexed with > point coordinates. However, it is wrong for the resource with a polygon > > <result name="response" numFound="5" start="0" maxScore="20015.115"> > <doc><float name="score">2.3913236</float></doc> > <doc><float name="score">4.3242383</float></doc> > <doc><float name="score">4.671504</float></doc> > <doc><float name="score">4.806902</float></doc> > <doc><float name="score">20015.115</float></doc> > </result> > > (Please note that I have verified the polygon externally and it is correct) > > With solr.RptWithGeometrySpatialField: > > I get an exception triggered by the presence of « score=distance » in the > request « > q={!geofilt%20sfield=PositionGeo%20pt=45.52,-73.53%20d=10%20score=distance} > » > > java.lang.UnsupportedOperationException > at > org.apache.lucene.spatial.composite.CompositeSpatialStrategy.makeDistanceValueSource(CompositeSpatialStrategy.java:92) > at > org.apache.solr.schema.AbstractSpatialFieldType.getValueSourceFromSpatialArgs(AbstractSpatialFieldType.java:412) > at > org.apache.solr.schema.AbstractSpatialFieldType.getQueryFromSpatialArgs(AbstractSpatialFieldType.java:359) > at > org.apache.solr.schema.AbstractSpatialFieldType.createSpatialQuery(AbstractSpatialFieldType.java:308) > at > org.apache.solr.search.SpatialFilterQParser.parse(SpatialFilterQParser.java:80) > > From there, I am rather stuck with no ideas on how to resolve these > problems. So advises in that regards would be much appreciated. I can > provide more details if necessary. > > Thank you in advance, > > > --- > Luc Grondin > Analyste en gestion de l'information numérique > Centre d'expertise numérique pour la recherche - Université de Montréal > téléphone: 514-343-6111 <(514)%20343-6111> p. 3988 -- > luc.gron...@umontreal.ca<mailto:luc.gron...@umontreal.ca> > > -- Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker LinkedIn: http://linkedin.com/in/davidwsmiley | Book: http://www.solrenterprisesearchserver.com