我正在学习Lucene查询语法。我有一个看起来像这样的查询:
black + forest
我的问题是,这个查询意味着什么?这样说:
我试图理解:
之间的区别 +black +forest
以及black + forest
和black +forest
感谢您帮助我理解这一点。
答案 0 :(得分:2)
+black +forest
- 黑人和森林都是必需的条款。两者都必须在任何匹配的文件中找到。
black +forest
- 森林是必需的术语,黑色不是。这使得术语"黑色"一个应该条款。 最佳匹配通常会匹配这两个字词,但只包含" forest"也会以低分返回。
black + forest
- 这里的+
对查询解析器没有意义,它被解释为另一个要搜索的术语。使用StandardAnalyzer
,此术语将被删除,从而有效地进行此查询black forest
。这将在两个术语上返回匹配作为最佳结果,并且匹配较低得分。
如果您使用的分析器没有删除标点符号(例如KeywordAnalyzer
),那么您的查询将如下所示:defaultField:black defaultField:+ defaultField:forest