gpt4 book ai didi

python - Django Haystack-Xapian 搜索因特殊字符和空格而失败

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:12 26 4
gpt4 key购买 nike

我正在开发一个现有的 Django 项目,该项目将 haystack 与 xapian 后端一起用于全局搜索功能。但是,当我使用 & 和空格等特殊字符进行搜索时,搜索似乎失败了。我尝试了但找不到修复它的方法。

有什么方法可以转义这些字符并使搜索正常进行吗?我在后端使用 PostgreSQL。任何指示都会非常有帮助。

更新:搜索功能使用 SearchForm,查询字符串来自 from 的 q 字段。这在代码中如下使用。

sqs = self.searchqueryset.auto_query(self.cleaned_data['q'])

我试过使用:

sqs = self.searchqueryset.filter(self.cleaned_data['q'])

sqs = self.searchqueryset.filter(content=Clean(self.cleaned_data['q']))

运气不好。我仍然无法使用空格和 & 等特殊字符进行搜索。

最佳答案

转义取决于您使用 Haystack 的方式,但是,haystack.inputs.Clean 类可能正是您要查找的内容。只需传递您要搜索的内容即可:

q = "amp & sand"
q_clean = haystack.inputs.Clean(q)
sqs = SearchQuerySet().filter(content=q_clean)

在此处查看文档:http://django-haystack.readthedocs.org/en/latest/inputtypes.html#clean

关于python - Django Haystack-Xapian 搜索因特殊字符和空格而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22315233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com