码迷,mamicode.com
首页 > 其他好文 > 详细

索引的检索相关代码

时间:2014-11-08 19:40:34      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   java   sp   for   文件   on   2014   

常用类简介
Directory 指定索引所在目录
FSDirectory 存放于磁盘上的文件系统
RAMDirectory 存放于内存中的目录,用于测试等用途
如Directory directory=FSDirectory.open(new File("filePath"));

IndexReader 读索引,依靠Directory类初始化
IndexReader reader=DirectoryReader.open(directory);

IndexSearcher 用于索引检索,依靠IndexReader类初始化。依靠Query类进行搜索。
如IndexSearcher searcher=new IndexSearcher(reader);

Analyzer 分词器
如Analyzer analyzer=new StandardAnalyzer();

Term 描述要查找单词所在的域(Field)与内容(content)。
如Term term=new Term("field","content");

Query 查询类,抽象类
TermQuery 最简单、最基本的Query,用来查询不切分的单词。依靠Term类初始化
如Query query=new TermQuery(term);

TopDocs 存放IndexSearcher类的查询结果
如TopDocs topDocs=searcher.search(query,10);

ScoreDoc ScoreDoc[]数组用来存放查询结果中的文档信息
如ScoreDoc[] scoreDocs = topdocs.scoreDocs;

ScoreDoc 中的score属性表示相关程度,取值范围[0,1],越大越相关。

概览:

		Directory directory=FSDirectory.open(new File("filePath"));
			IndexReader reader=DirectoryReader.open(directory);
			IndexSearcher searcher=new IndexSearcher(reader);
			Analyzer analyzer=new StandardAnalyzer();
			Term term=new Term("field","content");
			Query query=new TermQuery(term);
			TopDocs topDocs=searcher.search(query, 10);
			ScoreDoc[] hits=topDocs.scoreDocs;
			for(ScoreDoc hit :hits){
				System.out.println(hit.doc+hit.score);
			}
			


索引的检索相关代码

标签:style   blog   ar   java   sp   for   文件   on   2014   

原文地址:http://blog.csdn.net/chuchus/article/details/40923939

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!