我如何在 lucene .net 中索引标签并查询与这些标签的精确匹配?
How do I index tags and query exact matches against these tags in lucene .net?
以这个结构为例:
姓名:约翰
爱好:跳舞、潜水、骑马、跳伞
姓名:简
爱好:摩托车比赛、跳伞、跳舞
我有兴趣索引和查询此信息。重要的是查询需要与 Hobbies:
完全匹配
因此,搜索“sky-diving”应该 return 返回 John 和 Jane
搜索“diving”应该 return 0 个结果,因为找不到完全匹配的结果。
我应该采用什么理想的索引和查询方法来正确索引爱好?
自从我使用 Lucene 以来已经有一段时间了,但假设这正是 Hobbies 的存储方式(逗号 + space 分隔),在索引上将使用具有以下模式“,\s*”的模式分析器,并且在查询时我认为不需要任何标记化,您可以按原样传递该字段的查询。
当然,这是最简单的情况。如果您想开始处理边缘情况(大小写,令牌中的 spaces),您将不得不采取截然不同的方法。
将它们作为多个值添加到同一字段。在加载之前解析它们。
以这个结构为例:
姓名:约翰
爱好:跳舞、潜水、骑马、跳伞
姓名:简
爱好:摩托车比赛、跳伞、跳舞
我有兴趣索引和查询此信息。重要的是查询需要与 Hobbies:
完全匹配因此,搜索“sky-diving”应该 return 返回 John 和 Jane
搜索“diving”应该 return 0 个结果,因为找不到完全匹配的结果。
我应该采用什么理想的索引和查询方法来正确索引爱好?
自从我使用 Lucene 以来已经有一段时间了,但假设这正是 Hobbies 的存储方式(逗号 + space 分隔),在索引上将使用具有以下模式“,\s*”的模式分析器,并且在查询时我认为不需要任何标记化,您可以按原样传递该字段的查询。
当然,这是最简单的情况。如果您想开始处理边缘情况(大小写,令牌中的 spaces),您将不得不采取截然不同的方法。
将它们作为多个值添加到同一字段。在加载之前解析它们。