在Haystack中Solr高级短语查询

时间:2013-06-29 18:58:13

标签: django solr django-haystack

我希望我的用户能够在“word1 word2”之类的搜索框中输入,并且只能在word2之前直接接收带有word1的文档。更好的方法是利用Solr的其他功能,例如:

  • 标题:“word1 word2”
  • text:(word1 or word2)
  • “word1 word2”~5

我当前的SQS设置如下: searchqueryset = SearchQuerySet()。filter(content = AltParser('edismax',Raw(query),pf =“title ^ 1.5 text ^ 1”))

而且我认为,尽管使用Raw,但事情仍在逃避(基于我得到的结果)。

如果有任何其他信息有用,请告诉我。

谢谢! 杰克

1 个答案:

答案 0 :(得分:0)

我猜您在要反对的字段中有WhiteSpaceTokenizer

尝试查询"word1 word2" - 这不会逃脱空白并将短语视为不同的单词。

或者,您无法使用WhiteSpaceTokenizer,但这会将您的搜索功能限制为完全匹配 - 这可能不适用于所有情况。