Haystack Whoosh 拼写建议过于贪婪
这个问题是关于Django Haystack的,使用的是Whoosh作为后端。我想在搜索中使用拼写建议,但问题是它建议的内容太多了。
假设我有两个模型:苹果和橙子。
如果我有这样的代码:
result = SearchQuerySet().models(Apples).filter(
content=escaped_value).spelling_suggestion(escaped_value)
它实际上会查看橙子的模型,并从中返回拼写建议!看起来models(Apples)的限制没有起作用。
我为这两个模型都设置了索引,并将“text”属性设置为document=True。我的拼写建议功能是开启的。我使用Whoosh作为后端。
1 个回答
2
这个问题是因为Haystack会根据那些设置了document=True的字段来生成拼写建议(在我的情况中,这些字段是所有模型中的主要搜索字段,并且它们的名字都是一样的)。所以它根本不关心具体的模型,总是会在整个知识库中进行搜索。
我在Haystack的讨论板上提交了一个问题,并且提到了这个情况。开发者非常乐于助人:http://groups.google.com/group/django-haystack/browse_thread/thread/025e5ed42ccde8b9#
问题链接:http://github.com/toastdriven/django-haystack/issues/#issue/124