Django Haystack: busque un término con y sin acentos
Estoy implementando un sistema de búsqueda en mi proyecto django, usando django haystack. El problema es que algunos campos en mis modelos tienen algunos acentos franceses, y me gustaría encontrar las entradas que contienen la consulta con y sin acentos.
Creo que la mejor idea es crear un SearchIndex con ambos campos con los acentos y el mismo campo sin los acentos.
¿Alguna idea o pista sobre esto?
Aquí hay un código
Imagine los siguientes modelos:
Cars(models.Model):
name = models.CharField()
y el siguiente índice de 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)
ahora, en mi plantilla de índice, pongo los dos campos:
{{ object.cleaned_name }}
{{ object.name }}
Entonces, ese es un pseudocódigo, no sé si funciona, pero si tienes alguna idea sobre esto, ¡házmelo saber!