lucene-使用QueryParser和IndexSearcher

QueryParser

QueryParser把查询表达式转换为lucene内置的查询类型

查询表达式

匹配的文档

java

默认域包含java项的文档

java junit

java or junit

默认域中包含java和junit中的一个或两个文档。

+java +junit

java AND junit

默认域中同时包含java和junit的文档

title:ant

Title域中包含ant项的文档

title:extreme

-subject:sports

 

title:extreme

AND NOT subject:sports

Title域中包含extreme且subject域中不包含sports的文档

(agile OR extreme) AND methodology

默认域中包含methodology且包含agile和extreme的一个或两个项的文档

Title:”junit in action”

Title域为junit in action的文档

Title:”juint action” -5

Title域中junit和action之间距离少于5的文档

Java*

包含由java开头的项的文档

Java-

包含与java相似的文档

Lastmodified:[1/1/04 to 12/31/04]

Lastmodified域值在1/1/04和12/31/04之间的文档

IndexSearcher实例只搜索在它被实例化时已存在的索引。如果制作索引和搜索并发进行,那么最新索引的文档对搜索来说是不可见的。

IndexSearcher.search的函数声明

使用场合

Hits search(Query query)

直接进行搜索,无需过滤

Hits search(Query query,Filter filter)

在过滤标准的约束下,把搜索限制在有效文档子之内

Void search(Query query,HitCollector results)

只有当我们需要使用搜索返回的所有文档时才调用这个方法。一般来说,只有搜索结果中前几个文档才是我们所需的,所有使用此方法会降低程序性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值