lucence开发
来源:互联网 发布:怎么画适合的眉毛知乎 编辑:程序博客网 时间:2024/04/29 18:06
前提
lucene有7个包需要导入:analysis,document,index,queryParser,search,store,util
建立索引
IndexWriter writer = new IndexWriter("E:/index", new StandardAnalyze(),true,MaxFieldLength.UNLIMITED); //true代表覆盖原先数据,maxFieldLength用来限制Field的大小
Document doc = new Document();
doc.add(new Field("title", "lucene introduction", Field.Store.YES, Field.Index.ANALYZED,
Field.TermVector.WITH_POSITIONS_OFFSETS));
doc.add(new Field("time", "60", Field.Store.YES, Field.Index.ANALYZED,
Field.TermVector.WITH_POSITIONS_OFFSETS));
writer.addDocument(doc);
writer.optimize(); //优化
writer.close();
搜索
IndexSearcher searcher= new IndexSearcher("E:/index") Query query = new TermQuery(new Term("title", "lucene"));//单个字节查询
//Query query = new FuzzyQuery(new Term("title", "lucena"));//模糊查询
//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(qson1, 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+ " ");
}
这样,基本上就可以使用了
不会吧,我用的是lucene2.0是支持中文分词的,用的是MMAnalyzer,虽说这个的词典弄的不是很好,但是支持中文是没什么问题的,而且MMAnalyzer还可以自己往词典里加词
- lucence开发
- lucence
- lucence
- lucence
- lucence
- lucence
- Lucence
- Lucence
- lucence
- lucence简介&lucence示例
- lucence简介&lucence示例
- 配置lucence
- 了解lucence
- 搜索引擎lucence
- Lucence Resource
- lucence小记
- lucence helloword
- lucence入门
- 全面加速ADSL宽带速度
- document 获取坐标
- 无线路由器经常掉线怎么办?
- 汉字转拼音
- DotNetFX40
- lucence开发
- IIS中配置Https
- Nokia’s NetMonitor Manual
- Chapter 1 OSGi Framework Introduction
- DBF导入SQL server数据库
- ASP.NET国际化
- as3:事件机制原理
- 未来
- ADO MoveFirst, MoveLast, MoveNext, 与 MovePrevious 方法