【问题标题】:How to do a geospatial search with Lucene on a document that has multiple locations in Sitecore?如何使用 Lucene 对 Sitecore 中具有多个位置的文档进行地理空间搜索?
【发布时间】:2025-12-30 12:25:16
【问题描述】:

我有一个场景,Lucene 索引中的单个文档可能有多个位置。该文档是一个 Sitecore 项目和分配给它的 N 个位置项目的表示。点和半径将用于搜索在该半径中至少具有一个位置的所有文档。还将考虑其他搜索条件,例如名称和标记。需要使用分配给该文档的最接近的匹配位置,按距离对文档进行排序。我已将 lucene.net.contrib.spatial 用于单点,但我无法完全拼凑出多点将如何工作或可能如何工作。

【问题讨论】:

    标签: c# search sitecore geospatial lucene.net


    【解决方案1】:

    我建议您使用此模块或根据您的要求对其进行修改。 https://marketplace.sitecore.net/en/Modules/L/Lucene_Spatial_Search_Support.aspx

    我不知道您使用的是哪个版本的 Sitecore。从 cmets 看起来它不适用于 Sitecore 8。 你可以在这里找到源代码:
    https://github.com/aokour/Sitecore.ContentSearch.Spatial

    【讨论】:

      【解决方案2】:

      在尝试了一堆不同的解决方案后,我创建了一个反向标记系统。

      简而言之,我使用 Sitecore 的链接数据库在每个位置创建一个计算索引字段,该字段存储带有该位置标记的每个项目的 ID。然后,我首先搜索位置,然后使用位置结果中的 ID 作为搜索参数,以查询我实际要查找的内容。

      我在这里概述了完整的实现:

      http://alextselevich.com/2016/08/performing-a-geospatial-search-with-lucene-on-a-document-that-has-multiple-locations/

      【讨论】:

        最近更新 更多