estoy usando el __search filtro de consulta de Django para realizar una búsqueda por ejemplo texto completoDjango completo orden de búsqueda de texto por relevancia
MyModel.objects.filter(title__search = 'some title')
¿Cómo llego a la orden por relevancia, ya que actualmente parece estar ordenando alfabéticamente ?
Específicamente me gustaría obtener resultados de búsqueda donde el título era some title
para aparecer primero antes de algo que tenía el título a different but contains some title
.
edición:
Lo que he notado es que en la definición del modelo de MyModel tengo:
class Meta:
ordering = ['title']
Si quito esto, entonces se convierte en el orden correcto es decir, ordenado por relevancia. Entonces, ¿hay alguna forma de que pueda dejar esto en la definición del modelo porque es útil en otro lugar pero luego, en mi consulta, le digo que lo ignore?
No creo que realmente ordenado como usted espera. Solo por orden natural, como se señaló es una búsqueda booleana. –
Voy a hacerme eco del comentario de Enrico: dada la respuesta que usted aceptó, parece que aún está comprendiendo erróneamente que los resultados realmente están ordenados por relevancia si elimina el orden del título. Ese no es el caso: no hay relevancia para ordenar, los está obteniendo en cualquier orden que la base de datos elija para dárselos. –