2011-11-21 68 views
0

我有傳入查詢,我只想在特定字段(作者,書名)中不在字段(書籍內容)中搜索。我如何在Lucene中實現這一點?如何在Lucene中設置可搜索字段

另外一個問題是,如果我如何給作者字段中匹配的文檔給出更高的排名。例如,doc1在「書籍內容」中匹配,並且doc2在「作者」中匹配,我如何可以在doc2中排名更高。

回答

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);