0

我有传入的查询,我只想在某些字段(作者、书名)中搜索,而不是在字段(书籍内容)中搜索。如何在 Lucene 中实现这一点?

另一个问题是,如果我怎样才能给在作者字段中匹配的文档提供更高的排名。例如,doc1 在“book content”中匹配,doc2 在“author”中匹配,我怎样才能在 doc2 中排名更高

4

1 回答 1

0

您可以使用 BooleanQuery 组合多个查询,并具有 Occur.Should(意思是 OR)。我还相信您可以在这种情况下提升特定查询,这意味着特定字段中的匹配具有更高的相关性,例如内容。

示例(C#):

var query = new BooleanQuery();
query.Add(new TermQuery("author", searchTerm), Occur.Should);
query.Add(new TermQuery("book title", searchTerm), OCcur.Should);
于 2011-11-21T09:04:56.350 回答