RavenDB-如果radius是文档属性,如何进行WithinRadiusOf(radius、lat、lng)查询?

RavenDB-如果radius是文档属性,如何进行WithinRadiusOf(radius、lat、lng)查询?,ravendb,geospatial,spatial-query,Ravendb,Geospatial,Spatial Query,我想提出以下问题,但我在语法上遇到了困难: var query = session.Advanced.LuceneQuery<Object,IndexDefinition>().WithinRadiusOf(doc.MaxRadius,latitude,longitude).Where(x => x.StringProperty.Contains("xxx")); var query=session.Advanced.LuceneQuery().WithinRadiusOf(

我想提出以下问题,但我在语法上遇到了困难:

var query = session.Advanced.LuceneQuery<Object,IndexDefinition>().WithinRadiusOf(doc.MaxRadius,latitude,longitude).Where(x => x.StringProperty.Contains("xxx"));
var query=session.Advanced.LuceneQuery().WithinRadiusOf(doc.MaxRadius,latitude,longitude)。其中(x=>x.StringProperty.Contains(“xxx”);

关键是“doc.MaxRadius”是索引文档的一个属性。我希望避免迭代结果,但看起来我必须查询“Contains”过滤器,然后再这样做。有人能完成这种性质的查询吗?

你不能像上面所说的那样问这个问题。
与其存储半径,不如从该位置存储一个圆形,然后您可以在该位置调用intersect。

太棒了!我在文档中遗漏了这一点。我正在尝试。我正在尝试实施你的建议,但无法正确索引。调用Spatial4n.Core.Io.ShapeWriter.ReadStandardShape()后,索引正在抛出错误消息“System.IndexOutOfRangeException:索引超出了数组的边界”。我的索引分配如下所示:uuu=SpatialGenerate(“WorkingRadiusShape”、“圆圈”(+doc.Latitude.ToString()+)、“+doc.Latitude.ToString()+”、d=“+doc.WorkingRadius.ToString()+”)、SpatialSearchStrategy.GeohashPrefixTree,12)。你能看出我做错了什么吗。文档中没有显示匹配的示例。