理解Lucene语法

理解Lucene语法,lucene,Lucene,这是不是 +(content:#b content:#a +content:#c) 意思是 where content includes #b AND #a OR content includes #c? 我通读了一遍,但仍然不确定我的问题的答案。不,这不是它的意思。首先,外部+是隐含的。不会返回不匹配的结果。因此,在没有任何其他术语的情况下,该查询与 content:#b content:#a +content:#c 或:必须匹配内容:#c,可选内容:#b和/或内容:#a 您提供的含义的

这是不是

+(content:#b content:#a +content:#c)
意思是

where content includes #b AND #a OR content includes #c?

我通读了一遍,但仍然不确定我的问题的答案。

不,这不是它的意思。首先,外部+是隐含的。不会返回不匹配的结果。因此,在没有任何其他术语的情况下,该查询与

content:#b content:#a +content:#c
或:必须匹配内容:#c,可选内容:#b和/或内容:#a

您提供的含义的等价物为:

(+content:#a +content:#b) content:#c
您没有包括“或”或| |,因为没有运算符默认为“或”。是这样吗?是的,有点像<代码>内容:#a内容:#b和
内容:#a或内容:#b
是相同的。类似地,
+内容:#a+内容:#b
内容:#a和内容:#b
是相同的。但是,请注意,实际上没有一个精确的、等价于
+内容:#a内容:#b
(好吧,只需简单地
内容:#a
就可以得到相同的结果,但会丢失可选的搜索字段,从而失去评分影响)。