Я пытаюсь найти документы, основанные на широте и долготе, поэтому я получил это:
образец документа уже сохранен, который должен быть найден:
{
"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());
Предполагается, что при передаче запроса на одну и ту же широту и долготу он должен возвращать результаты, но каждый раз пусто ... Есть идеи?