【问题标题】:how to set up the searchable fields in Lucene如何在 Lucene 中设置可搜索字段
【发布时间】:2012-01-02 15:21:25
【问题描述】:

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

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

【问题讨论】:

    标签: search lucene rank


    【解决方案1】:

    您可以使用 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);
    

    【讨论】:

      猜你喜欢
      • 2017-01-29
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多