Hi! I have problems getting distance sorting to work in Lucene Spatial. (I'm using v4.10.3.) I'm following the SpatialExample.java from the Lucene docs. My code is below (it's Scala, but translates 1:1 into Java). When I run the query, results don't seem to be affected by the sorting at all. Changing the sort order from ascending to descending has no effect either.
I can't see any difference between what I'm doing and the offical example (except the use of the SearcherManager, but I've checked and that doesn't make a difference). Any hints appreciated! Cheers, Rainer --- Code Here's my code (Scala - but translates 1:1 into Java): val searcher = placeSearcherManager.acquire() val point = spatialCtx.makePoint(lat, lon) val args = new SpatialArgs(SpatialOperation.Intersects, spatialCtx.makeCircle(lon, lat, DistanceUtils.dist2Degrees(100, DistanceUtils.EARTH_MEAN_RADIUS_KM))) val filter = spatialStrategy.makeFilter(args) // Here's what's supposed to set up distance sorting val valueSource = spatialStrategy.makeDistanceValueSource(point) val distanceSort = new Sort(valueSource.getSortField(false)).rewrite(searcher) try { val topDocs = searcher.search(new MatchAllDocsQuery(), filter, limit, distanceSort) val scoreDocs = topDocs.scoreDocs // Print the results scoreDocs.foreach(scoreDoc => { val doc = searcher.doc(scoreDoc.doc) val docPoint = spatialCtx.readShape(doc.get(spatialStrategy.getFieldName())).asInstanceOf[Point] val distance = spatialCtx.getDistCalc().distance(args.getShape.getCenter, docPoint) val distanceKM = DistanceUtils.degrees2Dist(distance, DistanceUtils.EARTH_EQUATORIAL_RADIUS_KM) Logger.info("distance: " + distanceKM) }) } finally { placeSearcherManager.release(searcher) } --- Log output [info] application - distance: 406.01578203364323 [info] application - distance: 327.67269076509876 [info] application - distance: 218.94951150657565 [info] application - distance: 251.37927074183852 [info] application - distance: 140.6570939383426 [info] application - distance: 460.47502999630586 [info] application - distance: 462.37676932762116 [info] application - distance: 489.49001138999256 [info] application - distance: 392.0773262500455 [info] application - distance: 227.8864179949065 --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org