Pjanis
Новичок
Как лучше организовать базу для текстового поиска?
Задача: Есть таблица с 200 000 записей. В каждой записи есть 3 текстовых поля по которым нужно делать поиск вида "%чтоищем%". Как лучше организовать эту таблицу, какие индексы сделать и чем пользоваться для поиска?
Мое решение: Вариант с LIKE '%что ищем%' сразу отмел ввиду невозможности использования индекса.
Использую MATCH() AGAINST(), но при этом столкнулся с проблемой: Если ищем в одном поле, то индекс должен быть только по нему, если ищем одновременно в двух полях, то индекс - сразу на два поля... Вариации полей могут быть любыми из этих трех... И что, делать индексы на все возможные случаи? А если будет 4 поля? Если этого не сделать, то время поиска сильно удручает. Кто сталкивался с такой хадачей? Хелп!
Задача: Есть таблица с 200 000 записей. В каждой записи есть 3 текстовых поля по которым нужно делать поиск вида "%чтоищем%". Как лучше организовать эту таблицу, какие индексы сделать и чем пользоваться для поиска?
Мое решение: Вариант с LIKE '%что ищем%' сразу отмел ввиду невозможности использования индекса.
Использую MATCH() AGAINST(), но при этом столкнулся с проблемой: Если ищем в одном поле, то индекс должен быть только по нему, если ищем одновременно в двух полях, то индекс - сразу на два поля... Вариации полей могут быть любыми из этих трех... И что, делать индексы на все возможные случаи? А если будет 4 поля? Если этого не сделать, то время поиска сильно удручает. Кто сталкивался с такой хадачей? Хелп!