グローバル検索機能に xapian バックエンドで haystack を使用する既存の Django プロジェクトに取り組んでいます。ただし、&やスペースなどの特殊文字を使用して検索すると、検索が失敗するようです。試してみましたが、修正する方法が見つかりませんでした。
これらの文字をエスケープして検索を機能させる方法はありますか? バックエンドで 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']))
運がない。スペースや & などの特殊文字で検索することはまだできません。