用干草堆和xapian搜索?

时间:2011-08-14 07:48:55

标签: python django search django-haystack xapian

我一直在尝试进行此搜索:

帖子的标题是'帮帮我'

在我的代码中:

SearchQuerySet().filter(title=request.Get.copy()['search'])

所以,如果我搜索“帮助”,“我”或“帮助我”,我会收到帖子,但如果我搜索“我帮助”,我就不会。我想搜索“我的帮助”并仍然得到帖子。或者如果帖子的标题是“请帮助我”并且我搜索“请帮助”,我仍会收到帖子......

所以我在stackoverflow上搜索了一下......并在这里发了一个帖子: Django + Haystack how to do this search

我按照接受的答案的两个建议

然而,当我这样做时:

Change HAYSTACK_DEFAULT_OPERATOR within your settings.py to be OR. 

当我搜索“我的帮助”时,我得到了所有结果,即使没有“帮助”或“我”的那些

当我做的时候:

SearchQuerySet.filter_or(**kwargs)
没有真正改变,寻找'帮助','我','帮助我'工作,但'我帮助'仍然没有。

我确定答案显而易见,但我是干草堆的新手...那么如何获得查询(搜索“我的帮助”)以获得帖子(“帮助我”)?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用auto_query方法? E.g

SearchQuerySet().auto_query(request.Get.copy()['search'])