RavenDB空间搜索始终为空

问题描述 投票:2回答:1

我试图找到基于纬度和经度的文件,所以我得到了这个:

已存储的示例文档应该找到:

{
    "UID": "uIwHCBvvAJ",
    "Description": "galletita",
    "Created": "03/01/2019 08:40:18",
    "Active": true,
    "Point": {
        "latitude": -37.7505796,
        "longitude": -57.4275142,
        "distanceFromMe": 0
    },
    "Shape": {
        "s": null,
        "Longitude": null
    }
}

现在这是索引,类和查询:

public class Test_Spatial40 : AbstractIndexCreationTask<Test>
    {
        public Test_Spatial40()
        {
            Map = docs => from spatial in docs
                          select new
                          {
                              Shape = spatial.Shape,
                              Point = spatial.Point,
                              _ = SpatialGenerate("Coordinates", spatial.Point.latitude, spatial.Point.longitude),
                              _2 = SpatialClustering("Clustering", spatial.Point.latitude, spatial.Point.longitude)
                          };

            Spatial(x => x.Shape, options => options.Geography.Default());
            Spatial(x => x.Point, options => options.Cartesian.BoundingBoxIndex());
        }
    }

List<Test> r = session
                        .Query<Test, Test_Spatial40>()
                        .Customize(x => x.SortByDistance())
                        .Spatial(
                            x => x.Shape,
                            criteria => criteria
                                .WithinRadius((int)maxDist, (double)la, (double)lo))
                        .ToList();

from spatial in docs
            select new
            {
                Shape = spatial.Shape,
                Point = spatial.Point,
                _ = SpatialGenerate("Coordinates", spatial.Point.latitude, spatial.Point.longitude),
                _2 = SpatialClustering("Clustering", spatial.Point.latitude, spatial.Point.longitude)
            };

        Spatial(x => x.Shape, options => options.Geography.Default());
        Spatial(x => x.Point, options => options.Cartesian.BoundingBoxIndex()); 

它应该将相同的纬度和经度传递给查询它应该返回结果,但每次都是空的......有什么想法吗?

c# indexing ravendb spatial
1个回答
2
投票

要查询它,您需要在“形状”字段中包含“纬度”和“经度”。 (如果要按Shape查询)。

© www.soinside.com 2019 - 2024. All rights reserved.