我想在 Hibernate 中执行空间搜索。特别是,我想存储一些具有纬度/经度的项目,然后查询哪些项目在给定点的 x 公里范围内。
我发现休眠搜索通过它的 Lucene 集成提供对空间查询的支持。
我也知道 Lucene 中的空间模块已经在 Lucene 4.0 版中完全重写,但最新版本的hibernate-search使用的是 Lucene 的 Lucene 3.6.2。
所以,我有几个问题:
- hibernate-search 中的空间支持是否使用现已弃用的 lucene 空间模块?
- 或者休眠搜索是否使用来自 solr 的空间模块?
- 重写 lucene spatial 的原因之一是因为它不可靠/有问题。这是否意味着休眠搜索中的空间查询不可靠?
- hibernate-search 会在未来的版本中更改以支持新的 lucene-spatial 模块吗?(基于spatial4j)
- 假设 hibernate-search 将来会升级到 Lucene 4+,那么新版本中的空间查询是否可能向后兼容当前的 hibernate-search API?