lucene的基本操作-搜索相关

1、query种类

TermRangeQuery(不能搜数字)、NumericRangeQuery.newIntRange、PrefixQuery(前缀搜索)
WildcardQuery(通配符搜索):?和*,?表示匹配一个字符,*表示匹配任意多个字符
BooleanQuery:连接搜索,可以连接多个搜索。*Occur.MUST表示必须出现;* Occur.SHOULD表示可以出现 ;* Occur.MUSE_NOT表示不能出现

BooleanQuery query = new BooleanQuery();
query.add(new TermQuery(new Term("name","zhangsan")), Occur.MUST_NOT);
query.add(new TermQuery(new Term("content","game")),Occur.SHOULD);
TopDocs tds = searcher.search(query, num);
PhraseQuery:短语搜索,只支持英文,因为是以空隔分词的。
PhraseQuery query = new PhraseQuery();
query.setSlop(3); // 设置空格数(跳数)
query.add(new Term("content","pingpeng"));
//第一个Term
query.add(new Term("content","i"));
FuzzyQuery:模糊查询。
默认匹配字符串中一个不匹配的情况,超过1个就查不到了。


2、QueryParser

最常用的搜索


但是不能匹配数字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值