Lucene查询语法和使用

x33g5p2x  于2022-06-16 转载在 Lucene  
字(0.7k)|赞(0)|评价(0)|浏览(598)

Lucene查询语法和使用

(1)直接输入单词查询,比如输入Windows:

也可以根据一个关键词(key) 配上该关键词的值,精确查找,如选择关键词为ip,查找一个已知的ip地址:

也可以这样查询,假设已经某条日志数据中key为bytes的值为7000:

"key":value,精确匹配。"bytes"的双引号可以不要,直接:

bytes: 19504

(2) 可以一次同时搜索多个单词,用 and 连接,比如 Windows and Chorme and GET,相当于编程中的&&逻辑判断:

and 和 or都是Lucene的逻辑判断,可以组合起来使用。

(3)通配符。
*** 匹配0或多个字符。**

**

**

(4)模糊查询。

在一个单词后面加上 ~,就可以模糊查询。~后面可以跟上一个 0到1的系数,默认是0.5,系数值越高,越精确。

zhang~

返回结果可能会是zhgan,模糊匹配,模糊查询。如果是zhangphil~1,则为精确查询,相当于一个单词。

(5)范围查询

Lucene支持简答的逻辑运行,常规的大于,小于,大于等于,小于等于

具体的使用,例如查询bytes字节数大于7000的数据:

可以将大于和小于组合起来,形成开始和截止的逻辑判断,两个组合判断条件用括号括起来:

(6)逻辑运算

AND  逻辑条件的与。 &&

OR  逻辑条件的或。 ||

NOT 逻辑条件的非。 !

+  有这个条件。

-  排除这个条件。

比如,查询bytes字节数大于19000但是不等于19504:

或者把NOT写入括号里面

这样写也可以:

(not bytes 19504) and (bytes >19000)

(7)转义字符。

用 \ 转义。比如

(1+2):3 
匹配查询
(1+2):3

相关文章