2015-05-29 70 views
0

我有一個應用程序,我需要通過地理座標進行搜索。我的索引建立得很好,我正在使用PointVectorStragegy。按Lucene.net Spatial 3.0.3中的距離排序

我能圓

Point p = spatialContext.MakePoint(latitude, longitude); 
var circle = spatialContext.MakeCircle(latitude, longitude, DistanceUtils.Dist2Degrees(distance, DistanceUtils.EARTH_EQUATORIAL_RADIUS_MI)); 
var args = new SpatialArgs(SpatialOperation.IsWithin, circle); 
var filter = strategy.MakeFilter(args); 
var records = searcher.Search(booleanQuery, filter, data.Page * pageSize, sort); 

結果我回來都是精品中進行搜索,但他們降序排序,最接近的是最後一次。截至目前,我正在使用Sort.RELEVANCE

有誰知道我可以如何排序搜索結果?實現自定義排序?有沒有一個? 如果有人確實有一些代碼,非常感謝。

回答

0

我環顧了一下,嘗試了不同的東西。 我做了什麼,它的工作原理是這樣的:

sort = new Sort(new SortField("Distance", SortField.SCORE, false)); 

真正拿到第一最接近的,否則爲false。