Lucene空间战略

时间:2017-01-15 08:05:07

标签: lucene geospatial spatial

我有以下用例:

我希望能够在给定用户lat long的半径x kms内搜索我的lucene文档。

我还想按距离对文件进行排序。

我稍后还需要distnace值才能显示给用户。

对于我而言,哪种空间策略最适合我,而无需对任何额外内容进行索引并考虑性能。

1 个答案:

答案 0 :(得分:0)

根据您的要求,我认为最好的选择可能是PointVectorStrategy,这是最简单的,也符合您的条件:

  

简单的SpatialStrategy,表示两个数字字段中的Points。   该策略的最佳功能是适当的距离排序。

     

特点:

     
      
  • 只有索引点;每个字段值只有一个。
  •   
  • 可以通过矩形或圆形查询。
  •   
  • 支持SpatialOperation.Intersects和SpatialOperation.IsWithin。
  •   
  • 需要SpatialStrategy.makeDistanceValueSource的DocValues(org.locationtech.spatial4j.shape.Point)   并用圆圈搜索。
  •   

是的,它需要您将DocValues编入索引,但如果我理解正确,那么任何空间策略都不会免费提供所需的功能。