8

我的任务是选择我们将在即将进行的项目中使用的全文搜索引擎。根据我所读到的,我倾向于 Solr,但我有点担心空间搜索。除了一些其他参数(关键字、类别等)之外,我们还希望能够指定位置和最大距离(例如,亚利桑那州坦佩市 25 英里内)。我们希望能够按距离对结果进行排序。

Spatial SOLR 显然是相当新的,它的成熟度尚不完全清楚。还有一些其他选项(手动计算然后反转距离,或solr-spatial-light

我的问题基本上是:Spatial Solr(或 solr-spatial-light)是否已准备好在黄金时段处理我上面描述的情况,还是我们最好选择 Sphinx?

我也有兴趣听听实现其中任何一个的一般经验,特别是使用 php。

4

1 回答 1

5

我目前在生产中使用 Apache Solr 的空间搜索插件 (SSP),它基于空间 Solr 的旧实现。新的空间实现(在撰写本文时)仅在主干(或夜间构建)中可用,并且目前正在实施。我不知道这个实现的当前状态。

虽然 Spatial Plugin 有一些小问题,而且这个旧代码不如当前实现灵活,但它的优点是可以轻松部署到现有的稳定 Solr 1.4 实例。另外,它有据可查。我将它用于您描述的完全相同的用例,没有任何问题或性能问题。

您将需要一些地理编码器将位置转换为纬度/经度坐标。您可以使用MaxMind 的 GeoLite City或任何其他位置数据库。

我无法评论 Sphinx,因为我不使用它。

于 2010-05-12T22:54:15.087 回答