我正在使用一个简单的开箱即用的Django / Haystack / Whoosh设置仅用于自动完成目的,除了尝试搜索电子邮件地址外,一切正常。如果我输入joe
,我将获得名称/电子邮件地址以joe
开头的所有对象,但如果我输入joe@
,我不会只获得joe@
的对象{1}}电子邮件地址。这就好像@
符号被忽略一样,无论我是否逃避它。我无法在Haystack帮助中找到任何内容,也无法在网络上找到任何内容。我如何让Haystack(或者它是飞快移动?)识别@
符号?
...
class ContactIndex(indexes.SearchIndex):
text = indexes.EdgeNgramField(document=True, use_template=True)
full_name = indexes.CharField(model_attr='full_name', null=True)
email = indexes.CharField(model_attr='email', null=True)
...
答案 0 :(得分:0)
您需要查看whoosh/qparser/default.py
中的QueryParserhaystack不会自己解析查询字符串 whoosh_backend.py#L370