Solr中的病毒不在“反病毒”中

时间:2019-06-10 21:36:58

标签: solr lucene

我有问题,我需要用弱not(-号)查询solr 例如,我想要包含病毒但不关心防病毒的文档。 像这样的查询:病毒-“反病毒”将删除可能包含病毒和“反病毒”的文档,但是我只想删除仅包含“反病毒”而不包含病毒的文档。

请注意病毒-“反病毒”仅是示例,它可以是包含该单词的任何单词和短语。

1 个答案:

答案 0 :(得分:0)

这里有很多方案,如果您绝对需要仅在独立且未用其他字词标记的情况下查找包含“病毒”的文档,则需要进行一些索引时间处理,也许要替换“反病毒”与anti_virus或其他一些不匹配的组合。假定您知道索引编制期间的组合。

一种更简单的方法是说您要显示所有文档,但要升级包含独立“病毒”术语的文档。或更具体地说,将那些包含“反病毒”组合术语的软件降级。因此,仅包含“病毒”术语的文档将排在最前面,其次是包含独立术语和组合术语的文档,然后是仅包含组合术语的文档。这可以通过以下方式实现:

  

病毒“反病毒” ^ -10

^在这里是一个提升,您可以为其赋予负值。因此,任何匹配的复合词都将使文档的排名下降。