У меня есть запрос, который выполняет ILIKE для некоторых 11 строковых или текстовых полей таблицы, которая невелика (500 000), но для ILIKE явно слишком велика, поисковый запрос занимает около 20 секунд. База данных postgres 8.4
Мне нужно реализовать этот поиск, чтобы он был намного быстрее.
Что пришло мне на ум:
Я сделал дополнительную колонку TVECTOR, собранную из всех колонок, которые нужно искать, и создал по ней полнотекстовый индекс. Полнотекстовый поиск был довольно быстрым. Но... я не могу сопоставить этот тип TVECTOR со своим .hbms. Так что эта идея отпала (в любом случае я думал это скорее как временное решение).
Спящий поиск. (Сегодня впервые услышал об этом) Это кажется перспективным, но мне нужно мнение опытного человека, так как я не хочу лезть в новый API, возможно, не самый простой, для чего-то, что можно было бы сделать проще.
Люсен
В любом случае, это произошло сейчас с этой таблицей, но я хотел бы, чтобы решение было более общим и применялось для будущих случаев, связанных с полнотекстовым поиском.
Все советы оценены!
спасибо