如何在lucene.net中索引标记并查询与这些标记的精确匹配?

如何在lucene.net中索引标记并查询与这些标记的精确匹配?,lucene,lucene.net,Lucene,Lucene.net,以这种结构为例: 姓名:约翰 爱好:跳舞、潜水、骑马、跳伞 姓名:简 爱好:摩托车比赛、跳伞、跳舞 我对索引和查询这些信息感兴趣。重要的是,查询需要与嗜好精确匹配: 因此,搜索“跳伞”应该返回约翰和简 搜索“潜水”应返回0结果,因为未找到精确匹配 什么是理想的索引和查询方法,我应该采取适当的索引爱好 我与Lucene合作已经有一段时间了,但假设这正是嗜好的存储方式(逗号+空格分隔),在索引上,您将使用具有以下模式“,\s*”的模式分析器,在查询上,我认为不需要任何标记化,您可以按原样传递该字段的

以这种结构为例:

姓名:约翰

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

姓名:简

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

我对索引和查询这些信息感兴趣。重要的是,查询需要与嗜好精确匹配:

因此,搜索“跳伞”应该返回约翰

搜索“潜水”应返回0结果,因为未找到精确匹配


什么是理想的索引和查询方法,我应该采取适当的索引爱好

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


当然,这是最简单的情况。如果您想开始处理边缘情况(大小写、令牌中的空格),则必须采取一种截然不同的方法。

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

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