django haystackを使用して、検索システムをdjangoプロジェクトに実装しています。問題は、モデルの一部のフィールドにフランス語のアクセントがあることです。アクセントのある場合とない場合のクエリの内容を含むエントリを見つけたいと思います。
アクセントのあるフィールドとアクセントのない同じフィールドの両方を使用してSearchIndexを作成するのが最善のアイデアだと思います。
これに関するアイデアやヒントはありますか?
ここにいくつかのコードがあります
次のモデルを想像してみてください。
Cars(models.Model):
name = models.CharField()
および次のHaystackインデックス:
Cars(indexes.SearchIndex):
name = indexes.CharField(model_attr='name')
cleaned_name = indexes.CharField(model_attr='name')
def prepare_cleaned_name(self, object):
return strip_accents(object.name)
今、私のインデックステンプレートに、両方のフィールドを入れました:
{{ object.cleaned_name }}
{{ object.name }}
だから、それはいくつかの擬似コードです、それが機能するかどうかはわかりませんが、これについて何か考えがあれば、私に知らせてください!