【问题标题】:How do I index tags and query exact matches against these tags in lucene .net?如何在 lucene .net 中索引标签并查询与这些标签的完全匹配?
【发布时间】:2026-01-13 11:10:01
【问题描述】:

以这个结构为例:

姓名:约翰

爱好:跳舞、潜水、骑马、跳伞

姓名:简

爱好:摩托车比赛、跳伞、跳舞

我对索引和查询这些信息很感兴趣。重要的是查询需要与 Hobbies 完全匹配:

因此,搜索“sky-diving”应该会返回 JohnJane

搜索“diving”应该返回0 个结果,因为没有找到完全匹配的结果。

我应该采用什么理想的索引和查询方法来正确索引 Hobbies?

【问题讨论】:

  • 将它们作为多个值添加到同一字段。在加载之前解析它们。
  • 谢谢@Frisbee,成功了!

标签: lucene lucene.net


【解决方案1】:

将它们作为多个值添加到同一字段。在加载之前解析它们。

【讨论】:

    【解决方案2】:

    自从我使用 Lucene 以来已经有一段时间了,但假设这正是 Hobbies 的存储方式(逗号 + 空格分隔),在索引上您将使用具有以下模式的模式分析器",\s*",并且在查询时我认为不需要任何标记化,您可以按原样传递该字段的查询。

    当然,这是最简单的情况。如果您想开始处理边缘情况(大小写、标记中的空格),则必须采用完全不同的方法。

    【讨论】: