Я использую Django фильтр запроса __search для выполнения полнотекстового поиска Е.Г.Джанго полный порядок поиска текста по релевантности
MyModel.objects.filter(title__search = 'some title')
Как я могу получить его на заказ по релевантности, как в настоящее время это, кажется, заказав по алфавиту ?
В частности, мне хотелось бы найти результаты поиска, где заголовок был some title
, чтобы появиться первым перед тем, что имело заголовок a different but contains some title
.
редактировать:
То, что я заметил, что по определению модели для MyModel у меня есть:
class Meta:
ordering = ['title']
Если удалить это то упорядочение становится правильным, т.е. сортируются по релевантности. Так есть способ, которым я могу оставить это в определении модели как полезное в другом месте, но затем по моему запросу сказать ему игнорировать его?
Я не верю, что это действительно заказана как вы надеетесь. Просто по естественному порядку, как указано, это булевский поиск. –
Я буду отзываться на комментарий Энрико: учитывая, что вы приняли это решение, похоже, вы по-прежнему недооцениваете, что ваши результаты действительно упорядочены по релевантности, если вы удалите порядок заголовков. Это не тот случай: нет никакого отношения к заказу, вы получаете их в любом порядке, который база данных выбирает, чтобы предоставить вам. –