修改haystack查询语法?

时间:2011-09-02 01:26:48

标签: django-haystack

是否可以修改或扩展haystack如何理解查询?

例如,我正在考虑将haystack与基于OSQA的网站集成以进行SO风格的搜索 - 搜索常规关键字搜索问题/答案/评论文本,其中语法例如“[tag]”被理解为仅限于问题的tags字段。在某些时候,我们可能想添加其他好东西,如“user:eternicode”和“score:0”,但是现在关键字和标签是必备品。

不幸的是,它并不像从查询字符串中重新标记标记并使用它来过滤tags字段那么简​​单,因为我们需要ANDOR的所有复杂性,NOT,以及要应用的任意分组。

干草堆有可能吗?更好的是,有没有人以前做过?

1 个答案:

答案 0 :(得分:0)

似乎没有办法自定义Haystack auto_query的工作原理,所以我们最终做的是准备搜索查询以提取标记和其他自定义语法,使用剩余部分执行auto_query,然后应用自定义语法作为auto_query结果的额外过滤器。

但是,为了做到这一点,我们必须简化我们的要求并删除OR要求,因此所有术语现在都只有AND - 这简化了很多事情(例如,现在不需要分组)。