Ravendb Пространственный поиск с ORderBydistance - PullRequest
1 голос
/ 27 сентября 2019

Мне нужно получить 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);
...