如何使用 Lucene 对 Sitecore 中具有多个位置的文档进行地理空间搜索?
How to do a geospatial search with Lucene on a document that has multiple locations in Sitecore?
我有一个场景,其中 Lucene 索引中的单个文档可能有多个位置。该文档是 Sitecore 项目和分配给它的 N 个位置项目的表示。一个点和半径将用于搜索在该半径内至少有一个位置的所有文档。还将考虑其他搜索条件,例如名称和标签。文档需要按距离排序,使用分配给该文档的最接近的匹配位置。我已经将 lucene.net.contrib.spatial 用于单点,但我无法完全拼凑出多点将如何或可以如何工作。
我建议您使用此模块或根据您的要求对其进行修改。 https://marketplace.sitecore.net/en/Modules/L/Lucene_Spatial_Search_Support.aspx
我不知道您使用的是哪个版本的 Sitecore。从评论看来它在 Sitecore 8 上不起作用。
您可以在此处找到源代码:
https://github.com/aokour/Sitecore.ContentSearch.Spatial
在尝试了一系列不同的解决方案之后,我创建了一个反向标记系统。
简而言之,我使用 Sitecore 的链接数据库在每个位置上创建一个计算索引字段,该字段存储用该位置标记的每个项目的 ID。然后我先搜索位置,然后使用位置结果上的 ID 作为搜索参数来查询我实际要查找的内容。
我在这里概述了完整的实现:
我有一个场景,其中 Lucene 索引中的单个文档可能有多个位置。该文档是 Sitecore 项目和分配给它的 N 个位置项目的表示。一个点和半径将用于搜索在该半径内至少有一个位置的所有文档。还将考虑其他搜索条件,例如名称和标签。文档需要按距离排序,使用分配给该文档的最接近的匹配位置。我已经将 lucene.net.contrib.spatial 用于单点,但我无法完全拼凑出多点将如何或可以如何工作。
我建议您使用此模块或根据您的要求对其进行修改。 https://marketplace.sitecore.net/en/Modules/L/Lucene_Spatial_Search_Support.aspx
我不知道您使用的是哪个版本的 Sitecore。从评论看来它在 Sitecore 8 上不起作用。
您可以在此处找到源代码:
https://github.com/aokour/Sitecore.ContentSearch.Spatial
在尝试了一系列不同的解决方案之后,我创建了一个反向标记系统。
简而言之,我使用 Sitecore 的链接数据库在每个位置上创建一个计算索引字段,该字段存储用该位置标记的每个项目的 ID。然后我先搜索位置,然后使用位置结果上的 ID 作为搜索参数来查询我实际要查找的内容。
我在这里概述了完整的实现: