Я следовал документации на FullTextSearch в postgresql.Я создал столбец tsvector и добавил необходимую информацию, и, наконец, я создал индекс.Теперь, чтобы выполнить поиск, я должен выполнить запрос, подобный этому
SELECT *, ts_rank_cd(textsearchable_index_col, query) AS rank
FROM client, plainto_tsquery('famille age') query
WHERE textsearchable_index_col @@ query
ORDER BY rank DESC LIMIT 10;
Я хочу иметь возможность выполнить это с помощью ORM Джанго, чтобы я мог получить объекты.(Небольшой вопрос здесь: мне нужно добавить столбец tsvector к моей модели?) Я предполагаю, что я должен использовать extra (), чтобы изменить «где» и «таблицы» в наборе запросов
Может быть, еслиЯ изменил запрос на это, было бы проще:
SELECT * FROM client
WHERE plainto_tsquery('famille age') @@ textsearchable_index_col
ORDER BY ts_rank_cd(textsearchable_index_col, plainto_tsquery(text_search)) DESC LIMIT 10
, поэтому id 'должен сделать что-то вроде:
Client.objects.???.extra(where=[???])
Thxs за вашу помощь :) Еще одна вещь, ям с использованием Django 1.1