我正在进行lucene搜索。我需要从搜索中排除某些字段。我通过使用方法排除了字段。结果还包含正确的结果,没有这些排除的字段。但是我遇到了一个新问题,当我的搜索词存在于其他某个字段中时,整个项目将返回,而不会给予excludeField列表任何优先级。
让我清楚解释一下, 例如在“Home”项中,我有像“HeaderText,FooterText,Image”这样的字段。 我在所有这些领域都有一些内容。考虑一下,我排除了字段“HeaderText”。 当我搜索一个术语时,“Home”项目将不会显示在searchResults中,即使它包含searchterm,但当HeaderText和footerText中存在搜索词时,搜索结果中包含“Home”项,即使我排除了“HeaderText”字段。
所以为我提供一个解决方案。在此之前谢谢。
答案 0 :(得分:3)
我不清楚究竟需要什么。我最好的猜测是,如果HeaderText包含该术语,那么即使其他字段包含该术语,也应该从结果集中排除该文档。
不要将HeaderText排除在搜索范围之外,请尝试使用否定查询字词。例如,NOT HeaderText:term
。语法详细信息可用here。