【问题标题】:haystack query for solr to find items where attribute is unset or specified value用于 solr 的 haystack 查询以查找属性未设置或指定值的项目
【发布时间】:2015-08-13 15:04:08
【问题描述】:

我正在尝试通过 haystack 查询 solr,以查找所有没有属性(它是 Null)或属性是指定值的对象。

我可以直接用sn-p (brand:foo OR (*:* -brand:*))查询solr,得到我想要的。但是如果没有真正丑陋的黑客,我找不到一种方法来通过 haystack 制定这个或任何逻辑上相同的内容。

我确实发现了这个丑陋的黑客:

SearchQuerySet().filter(brand=Raw('%s OR (*:* -brand:*)' % Clean('foo'))

但它与OR 的链接真的很差,没有任何括号。

理想情况下,使用纯过滤器的解决方案是最好的,但如果无法使用原始 solr 查询语言添加可链接过滤器。

我正在使用django-haystack 2.4.0

【问题讨论】:

    标签: django python-2.7 solr django-haystack


    【解决方案1】:

    这不是一个完美的匹配,但 narrow 帮助我足够让我做我想做的事

    SearchQuerySet().narrow('(brand:%s OR (*:* -brand:*))' % Clean('foo'))
    

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 2011-09-09
      • 2013-06-27
      • 2010-10-04
      • 2012-07-05
      相关资源
      最近更新 更多