如何用Solr实现NOTIN操作符

如何用Solr实现NOTIN操作符,solr,notin,Solr,Notin,我正在尝试查找符合此示例的文档: q=文本:“信用”不在“信用卡”中 对于该查询,我希望获得包含术语“信用”但不作为短语“信用卡”一部分的所有文档 因此: 我不想得到只包括“信用卡”在内的文件 我想得到只包括“信用证”的单据 我想得到的文件,其中包括“信用”,但不是作为信用卡的一部分 例如: doc1文本:“我想用我的信用卡购物” doc2文本:“我想用信用卡中的信用卡购买” doc3文本:“我想用信用卡购物” 退回的文件应为: doc1,doc2 我在SOLR文档中找不到任何关于NOTIN运算

我正在尝试查找符合此示例的文档:

q=文本:“信用”不在“信用卡”中

对于该查询,我希望获得包含术语“信用”但不作为短语“信用卡”一部分的所有文档

因此:

  • 我不想得到只包括“信用卡”在内的文件

  • 我想得到只包括“信用证”的单据

  • 我想得到的文件,其中包括“信用”,但不是作为信用卡的一部分

  • 例如:

    doc1文本:“我想用我的信用卡购物”

    doc2文本:“我想用信用卡中的信用卡购买”

    doc3文本:“我想用信用卡购物”

    退回的文件应为:

    doc1,doc2


    我在SOLR文档中找不到任何关于NOTIN运算符实现的信息。

    text:credit-text:“信用卡”
    ?为什么不呢?;)正如Mats所建议的,您需要匹配在其“文本”字段中包含术语“信用”而不是短语“信用卡”的文档。你试过了吗?如果您的“文本”字段分析器足够精确,可以使pf匹配斜率为0(因为否则短语“信用卡”可以匹配斜率大于2的“我的信用卡中的信用”和“我的信用卡中的信用”),它应该可以工作。谢谢大家,但是text:credit-text:“信用卡”~0返回doc1:(