如何在django

时间:2018-04-10 16:52:24

标签: python django django-views wildcard django-haystack

我目前正在研究django的干草堆搜索。 我遇到了2个问题, 首先,当我使用'飞快移动'引擎,搜索只能返回与我的搜索键完全相同的结果,例如,如果我键入' ABC',则无法匹配' ABCD' 其次,如何使用haystack实现通配符搜索?例如,如果我输入“A * C'”,则可以返回“ABC'”,“ABCCC' ' AC'等等。或者其他方法只是为了达到相同的结果(基本上,返回包含相同顺序关键字的结果)

1 个答案:

答案 0 :(得分:0)

请注意,使用通配符时需要考虑一些因素。 首先,Haystack需要考虑一些事项,请查看建议here。通配符默认使用auto_search,否则您必须自己编译查询。

另一方面,您必须考虑后端干草堆使用。我最近没有使用过Whoosh,但是我知道其他后端,例如Solr,在生成搜索项时默认使用至少3个字符'组',所以也可能是你搜索的情况做不属于任何这些组,或者它不会匹配少于3个字符的单词。

根据后端,您还可以配置您想要的搜索是“开始于”,“包含”,“以...结尾”。您可能还需要查看Whoosh文档。