在特定文档上搜索lucene

时间:2011-05-04 12:41:21

标签: java lucene

我正在使用Lucene和java来索引一些文本文档。现在,在我获得一些关键字搜索的顶级文档之后,我想进一步优化我的搜索并仅使用一些额外的关键字搜索那些顶级文档,因此每个文档一次。有人可以告诉我如何使用特定关键字搜索特定文档,而不是整个索引,但是让我们说只有123.xml,关键字为“bla blah”。

提前

thanx

1 个答案:

答案 0 :(得分:0)

如果要优化搜索,则应使用过滤器(查看IndexSearcher

search(Query query,
     Filter filter,
     int n,
     Sort sort)

)!过滤器将在结果集上执行,是实现精确搜索的正确方法。

请查看此页面,了解如何使用过滤器:http://www.javaranch.com/journal/2009/02/filtering-a-lucene-search.html

无论如何:

如果您只想搜索一个文档,您可以获取一个文档,将其存储在RAMDirectory中,并像在普通索引中一样在RAMDirectory中搜索。或者,您可以为每个文档添加一个字段包含唯一标识符,并将其添加到您的查询中,例如: “incnt :( bla blah)和uniqe_doc_id:(doc1)”