lucene 支持的检索语法和检索运算符分类列表

  【声明】1、本文转至http://www.diybl.com/course/3_program/java/javajs/200843/108185.html  

          2、《新一篇: lucene 支持的检索语法和检索运算符分类列表》请参考http://www.cnblogs.com/zsm/archive/2008/06/12/1218294.html           


  近期用到 lucene ,读了一些文档,因为以前一直用开发商用引擎或用商用引擎的原因,所以一上来就想找比较完整的分类文档,主要是lucene的数据类型,支持的运算符,运算能力,各种功能的 性能 推荐等等。后来发现lucene文档很详细,内容很全了,可惜有些内容没有汇总,散落在各处,找了半天也没找到个全的,自己动手总结了一个。

检索请求语法

基本形式: q=检索项和运算符组成的检索请求表达式

检索项:

1,  检索字段名称(在建立索引时候给定)

1.1用户可以指定要检索的字段,语法为 字段名=检索串

1.2不输入情况下,自动检索默认检索字段,建立索引时设置

1.3多字段之间可以进行逻辑运算检索,默认情况下为或关系,

1.4字段内容范围 为紧邻的字符串,或者可以用括号运算符确认

2,  请求文本(非检索系统保留字的文本串)

2.1可以用双引号 括起来 当作一个多个词语的短语串整体来对待

2.2保留字如下:+ ,-, &&, ||, !, ( ), { }, [ ], ^, ", ~, *, ?, :, /,

2.3如果需要输入保留字,请自行做好转义  转义符如下:/

运算符列表

运算集名称

运算集备注

运算符名称

符号

解释

示例

逻辑运算符

支持

AND或者 &&

 

“A” AND “B”

OR 或者 ||

 

“A” OR “B”

NOT或者 !

 

“A” NOT “B”

表示检索含有A但不含有B

存在操作符

+

 

+A OR “B”

禁止操作符

-

 

“A”-“B”

表示A的结果中除去B的结果

括号

()

提升优先级别

(A | B) @ C

范围运算符

支持

 

 

 

 

 

 

 

 

开区间

( TO )

 

(2 TO 18)

闭区间

[ TO ]

 

[ apple TO bear ] 

同在运算符

当前不支持

同句

s , S

 

A s B

不同句

nots ,NOTS

 

A nots B

同段

p ,P

 

A p B

不同段

notp ,NOTP

 

A notp B

邻近运算符

支持

 

“word1空格word2”~数字

 

“A B”~10

表示 检索AB之间

 

 

 

 

 

 

 

 

 

 

 

 

通配符

支持

01字符

?

 

Englishman?

多字符

+

 

Englishm+

模糊运算符

支持

 

~浮点型权值

只支持英文,并且按照应分分析方法建立的字段

在一个具体的检索词或者部分后面添上运算符 fa~

结果可以得到 如 father

默认情况下权值为0.2 可以用户指定

China~1.5

权值指定

支持

 

^权值数字

支持词,短语,字段

例如:

1,A^3 B

2,“A AND B”^2 “C D”

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值