如何在 Lucene 中设置可搜索字段
我有传入查询,我只想在某些字段(作者、书名)中搜索,而不是在字段(书籍内容)中搜索。我怎样才能在 Lucene 中实现这一点?
另一个问题是,我如何才能为在作者字段中匹配的文档提供更高的排名。例如,doc1在“书籍内容”中匹配,而doc2在“作者”中匹配,我如何才能使doc2排名更高
I have incoming queries and I want to only search in certains fields (author, book title) not in field (book content). How can I achieve this in Lucene?
another questions is that if how can I give a higher rank to documents that have matches in the author field. For example, doc1 have match in "book content", and doc2 has match in "author", how can I rank higher for doc2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 BooleanQuery 组合多个查询,并使用 Occur.Should(意为 OR)。我还相信您可以在这种情况下增强特定查询,这意味着特定字段中的匹配比内容等具有更高的相关性。
示例(C#):
You can combine multiple queries using BooleanQuery, and have Occur.Should (meaning OR). I also believe that you can boost specific queries in such a scenario, which means that matches in a specific field has higher relevance that for instance, content.
Example (C#):