首页 > 代码库 > 索引的检索相关代码
索引的检索相关代码
常用类简介
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;
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); }
索引的检索相关代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。