应用大白全文检索Lucene语法简介

Lucene语法(五):逻辑和分组

Lucene语法中,有

符号含义备注
+其右边的内容,搜索结果中:必须有
-其右边的内容,搜索结果中:必须没有
AND其两边的内容,搜索结果中:必须有也可以写成:&&
NOT其两边的内容,搜索结果中:必须没有也可以写成:!
OR其两边的内容,搜索结果中:或者一个有也可以写成:||

几个逻辑判断符号。

+ 和 AND,都是“必须有”的意思,只是:+对其右边起作用,而 AND对其两边起作用。

- 和 NOT,都是“必须没有”的意思,只是:-对其右边起作用,而 OR 对其两边起作用。

NOT 的优先级比 AND 高, AND 的优先级比 OR 高。

另外,值得注意的是:空格 也是 OR 的意思,这一点切不可忘。

在逻辑判断的时候,常常还可以分组,让逻辑关系更加清晰。分组用括号

()

实现,() 内部的为一个小组。

下面,我们来举几个例子,首先看一下:

"服务状态" AND ( NOT "停止" AND "状态")

这个例子,也可以用 + - 来实现:

+"服务状态" -"停止" +"状态"


如果,不小心,漏写了最前面的 +, 会出现什么样的搜索结果呢?如下图:

"服务状态" -"停止" +"状态"

理由是:没有了+,或者 AND 的限定,就被默认为 OR ,所以 "服务状态" 在搜索结果中,可有可无了。


本文原创,属于上海悦勤信息科技有限公司
如需转载,请注明出处:上海悦勤信息科技有限公司:应用大白全文检索Lucene语法简介
如需合作,请拨打电话:186-2150-3806