У меня есть такой объект:
[SerializePropertyNamesAsCamelCase]
public class Location
{
[Key]
public string Id { get; set; }
[IsFilterable, IsSortable]
public GeographyPoint GeographyPoint { get; set; }
}
Я хотел бы получить все местоположения, которые находятся в пределах 10 км, и упорядочить их по расстоянию, поэтому сначала самое близкое шоу.Наконец, я хочу знать, что это за расстояние.
Вот то, что я пробовал:
var index = GetIndex();
var parameters = new SearchParameters
{
Skip = 0,
Top = 20,
Filter = "geo.distance(geographyPoint, geography'POINT(-122.131577 47.678581)') le 10 "
};
var results = index.Documents.Search<Location>("*", parameters);
Проблема с тем, что выше, это то, что он не сообщает мне расстояние и не делает этосортировать по нему.
Мне интересно, как выполнить вышеизложенное?Нужно ли создавать свойство double Distance
внутри объекта Location, и если да, то как мне его заполнить, чтобы я мог искать по нему, упорядочивать по нему и затем извлекать его?