2011-09-02 73 views
1

是否可以修改或扩展干草堆理解查询的方式?修改干草堆查询语法?

例如,我期待在整合草堆与基于OSQA现场得到这么式搜索 - 搜索,其中常规关键字搜索问题/答案/注释文本,其中语法,如“[标签]“被理解为仅限于该问题的tags字段。在某些时候,我们可能想添加其他好东西,比如“user:eternicode”和“score:0”,但现在关键字和标签是必备品。

不幸的是,它并不像regexing标记出来的查询字符串,并使用对tags字段进行筛选那么简单,因为我们要的ANDORNOT所有的复杂性,以及任意分组应用。

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

+0

你曾经能够找出这一个? – hekevintran

+0

不,我们无法弄清楚如何自定义干草堆的内部。我们最终做的是准备搜索查询以提取标记和其他自定义查询,使用剩余的查询执行auto_query,然后将自定义查询作为额外的过滤器应用于auto_query结果。然而,为了做到这一点,我们必须简化我们的要求并放弃'OR'要求,所有的术语现在都只是'AND' - 这简化了很多事情(例如,现在不需要分组)。 – eternicode

回答

0

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

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