특정 반경 내에있는 결과를 검색하고 점으로부터 거리를 기준으로 정렬 된 결과를 얻으려고합니다 (처음부터 마지막까지). 그러나 반환 된 결과는 반대 정렬 (맨 처음부터 마지막까지)입니다.Lucene.Net 포인트에서 거리에 대한 결과 정렬
string name = "__Location";
var strategy = new PointVectorStrategy(ctx, name);
var indexSearcher = new IndexSearcher(_dir, true);
double radious = Double.Parse(rad);
double lat = 33.8886290;
double lng = 35.4954790;
var distance = DistanceUtils.Dist2Degrees(radious, DistanceUtils.EARTH_MEAN_RADIUS_MI);
var spatialArgs = new SpatialArgs(SpatialOperation.Intersects, ctx.MakeCircle(lng, lat, distance));
var spatialQuery = strategy.MakeQuery(spatialArgs);
Point pt = ctx.MakePoint(lng, lat);
ValueSource valueSource = strategy.MakeDistanceValueSource(pt);
ValueSourceFilter vsf = new ValueSourceFilter(new QueryWrapperFilter(spatialQuery), valueSource, 0, distance);
var filteredSpatial = new FilteredQuery(new MatchAllDocsQuery(), vsf);
var spatialRankingQuery = new FunctionQuery(valueSource);
BooleanQuery bq = new BooleanQuery();
bq.Add(filteredSpatial,Occur.MUST);
bq.Add(spatialRankingQuery,Occur.MUST);
TopDocs hits = indexSearcher.Search(bq, 10);
어떻게 근처에서 먼 거리에 결과를 정렬 할 수 있습니다 : 여기
내 코드?내가 사용하고 있습니다 : 3.0.3
Lucene.Net.Contrib.Spatial
Lucene.Net 3.0.3
Spatial4n.Core 0.3
감사합니다.