Lucene基础

Lucne:一个开源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎,索引引擎和部分文本分析引擎。

优点:

索引文件独立于应用平台,不受限制,8位字节位基础的索引文件格式,

优秀的面向对象的系统结构。


Lucene:有7个包需要导入,analysis,document,index,queryParser,serch,store,util。

早期搜索的写法:

IndexSearcher searcher= new IndexSearcher("E:/index");
Query query = new TermQuery(new Term("title", "lucene"));//单个 字节查询
//Query query = new FuzzyQuery (new Term("title", "lucene"));//模糊查询
//Query query = new WildcardQuery (new Term("title", "lu*"));// 通配符 查询 ?代表一个 字符 ,*代表0到多个字符
//BooleanQuery query = new BooleanQuery ();//条件查询
//BooleanQuery qson1 = new BooleanQuery();
//Query q1 = new TermQuery(new Term("title", "lucene"));
//qson1.add(q1, Occur.MUST);// MUST是必须满足的
//BooleanQuery qson2 = new BooleanQuery();
//Query q2= new TermQuery(new Term("sex", "woman"));
//qson2 .add(q2, Occur.MUST_NOT);// MUST_NOT是必须不满足
//query.add(qson1, Occur.SHOULD);
//query.add(qson2, Occur.SHOULD);// SHOULD代表满足qson1或者满足qson2都可以

//PhraseQuery query = new PhraseQuery ();//近距离查询
//query.setSlop(5);//距离设置为5
//query.add(new Term("title", "lucene"));
//query.add(new Term("title", "introduction"));//查询出title中lucene和introduction距离不超过5个字符的结果
//Query query = new PrefixQuery (new Term("title", "lu"));//WildcardQuery的lu*一样,通配符查询
//RangeQuery query = new RangeQuery (new Term("time", "50"),new Term("time", "60"), true);
//true代表[50,60],false代表(50,60)
Hits hits = searcher.search(query);
for (int i = 0; i < hits.length(); i++) {
Document d = hits.doc(i);
String title= d.get("title");
System.out.print(title+ " ");
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值