search - 如果在 lucene 搜索中包含单个搜索词字段,如何排除该项目?

标签 search lucene

我正在研究 lucene 搜索。我需要从搜索中排除某些字段。我通过使用一种方法来排除字段。结果还包含正确的结果,没有这些排除的字段。但我遇到了一个新问题,当我的搜索词出现在其他字段中时,整个项目都会返回,而不给予排除字段列表任何优先级。

让我清楚地解释一下, 例如,在“Home”项中,我有“HeaderText、FooterText、Image”等字段。 这些领域我都有一些内容。考虑一下,我排除了“HeaderText”字段。 当我搜索一个术语时,“Home”项目不会显示在 searchResults 中,即使它包含搜索术语,但当搜索术语出现在 HeaderText 和 footerText 中时,搜索结果包含“Home”项目,即使它包含我排除了“HeaderText”字段。

所以给我一个解决方案。之前谢谢了。

最佳答案

我不清楚到底需要什么。我最好的猜测是,如果 HeaderText 包含该术语,那么即使其他字段包含该术语,该文档也应该从结果集中排除。

不要将 HeaderText 排除在搜索之外,而是尝试使用否定查询词。例如,NOT HeaderText:term。语法详细信息可查看 here .

关于search - 如果在 lucene 搜索中包含单个搜索词字段,如何排除该项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5154448/

相关文章:

MySQL 全文搜索没有匹配项

javascript - jQuery 搜索包含多个单词的段落

java - StandardTokenizer 行为

java - 如何使用 Lucene 生成唯一 ID?

c++ - 正则表达式与字符串 :find() for simple word boundary

java - 搜索 ArrayList 对象

java - 在Java中查找数组中的多个搜索结果

solr - Solr中控制匹配子句个数对评分的影响

java - 确定哪个 jar 文件包含 org.apache.lucene 类文件

amazon-web-services - 是否不需要将负载均衡器与 ElasticSearch 一起使用?