Lucene空间策略
我有以下用例: 我希望能够从给定的用户lat long搜索半径为x kms的特定圆圈内的lucene文档 我还想按距离对文档进行排序 我还需要稍后将distnace值显示给用户Lucene空间策略,lucene,geospatial,spatial,Lucene,Geospatial,Spatial,我有以下用例: 我希望能够从给定的用户lat long搜索半径为x kms的特定圆圈内的lucene文档 我还想按距离对文档进行排序 我还需要稍后将distnace值显示给用户 哪种空间策略最适合我,而无需编制任何额外索引并考虑性能。根据您的要求,我认为最好的选择可能是点向量策略,这是最简单的一种,同时也满足您的条件: 在两个数值字段中表示点的简单空间策略。 该策略的最佳特性是适当的距离排序 特点: 仅索引点;每个字段值只有一个 可以按矩形或圆形进行查询 支持SpatialOperation.
哪种空间策略最适合我,而无需编制任何额外索引并考虑性能。根据您的要求,我认为最好的选择可能是
点向量策略
,这是最简单的一种,同时也满足您的条件:
在两个数值字段中表示点的简单空间策略。
该策略的最佳特性是适当的距离排序
特点:
- 仅索引点;每个字段值只有一个李>
- 可以按矩形或圆形进行查询李>
- 支持SpatialOperation.Intersects和SpatialOperation.IsWithin
- 需要SpatialStrategy.makeDistanceValueSource的DocValues(org.locationtech.spatial4j.shape.Point) 用圆圈搜索