Мне нужно получить 15 ближайших местоположений из точки. Сначала я создал пространственный индекс, а затем пытаюсь упорядочить результат по расстоянию, вызвав ORderByDistance, но получаю это исключение
Невозможновыполнить метод запроса 'OrderByDistance'.Поле «atial.point (Latitude, Longitude) »нельзя использовать при запросе статического индекса« SupplierCoordinatesLookup ».Динамические пространственные поля могут использоваться только с динамическими запросами, для запросов статического индекса используйте допустимые пространственные поля, определенные в определении индекса.
Это мой код
List<SupplierCoordinates> suplierCoordinates = _documentSession
.Query<SupplierCoordinates, SupplierCoordinatesLookup>()
.Spatial(
"Coordinates",
criteria => criteria.WithinRadius(0, supplierCoordinates.Latitude, supplierCoordinates.Longitude))
.OrderByDistance(factory => factory.Point(x => x.Latitude, x => x.Longitude), supplierCoordinates.Latitude, supplierCoordinates.Longitude)
.Take(15)
.ToList();
Это мойиндекс
Map = collection => from doc in collection
select new
{
Coordinates = CreateSpatialField(doc.Latitude, doc.Longitude)
};
Store(x => x.Id, FieldStorage.Yes);