以此结构为例:
姓名:约翰
爱好:跳舞,水肺潜水,骑马,跳伞
名称:简
爱好:摩托车比赛,跳伞,跳舞
我对索引和查询此信息感兴趣。重要的是查询需要与爱好完全匹配:
所以,搜索" 跳伞"应该返回 John 和 Jane
搜索" 潜水"应返回 0结果,因为未找到完全匹配。
我应该采用哪种理想的索引和查询方法来正确索引爱好?
答案 0 :(得分:1)
自从我与Lucene合作以来已经过了一段时间,但假设存储<爱好的确切方式(逗号+空格分隔),在索引上你将使用具有以下模式的模式分析器“,\ s *”,并且在查询时我认为不需要任何标记化,您可以按原样传递该字段的查询。
这当然是最简单的情况。如果你想开始处理边缘情况(套管,标记中的空格),你将不得不采取一种截然不同的方法。
答案 1 :(得分:1)
将它们作为多个值添加到同一字段中。在加载之前解析它们。