我正在处理类似于以下内容的solr查询:
((Author_Type:" Corporate" AND(Social_Media_Type_Source:" Retweet" OR Social_Media_Type_Source:" Comment"))或NOT Author_Type:Corporate) 运行此时,不会返回任何结果。我正在寻找的是拉记录,只有当author_type与Corporate匹配,然后Social_media_type_source是(转推或评论)或者如果author_type不是公司将其包含在结果中。
我见过类似的例子,这是海报,但它似乎不适用于我。我使用的是solr4.10.1
感谢您的帮助
答案 0 :(得分:0)
希望在Solr 4.x中这不会过时,但你的问题可能在于认为NOT不能成为一元运算符。
注意:NOT运算符不能仅与一个术语一起使用。例如, 以下搜索将不返回任何结果:
不是“jakarta apache”
您可以通过利用*:*将返回所有文档的事实来表达相同的事情。因此,这样的事情可能有用:
(Author_Type:“Corporate”AND(Social_Media_Type_Source:“Retweet”OR Social_Media_Type_Source:“评论”))或(*:* NOT Author_Type:公司)