поиск по слову - фразе

  • Автор темы Автор темы Valeriy
  • Дата начала Дата начала

Valeriy

Новичок
поиск по слову - фразе

Такая задача -
нужно орагнизовать писк по слову или фразе. Возникла такая проблема, нужно чтоб select from like "slovo"% возращало данные где есть эта фраза, но условие такое чтоб не выодить весь контент( например текст 10000 символов), а именно строчку где есть фраза, а именно всю строку, так как в google. Также поиск происходит не по одной таблице а по 6-7(у всех разные поля).
Возможно ли сделать чтоб select возращал такой результат, или нужно писать функцию на php которая будет разбирать текст. И как всегда все должно быстро работать. Подскажите как поступить.
 
Valeriy

нужно реорганизовать хранение данных тогда можно будет собирать текст любой длины и поиск делать не LIKE а по прямому сравнению, что гораздо быстрее.
 
Я б так и сделал, но база уже создана до меня, и править мне ее не дают, вот так.
 
Может тогда вместо LIKE лучше использовать полнотекстовый поиск (fulltext)?
 
Проблема решена, я решыл использовать regexp, заказчик согласился если будет работать немножко долговато(это на будущее). Всем спасибо за советы.
 
Valeriy
Это будет работать не "немного долговато" а в несколько десятков раз дольше чем LIKE, так как последний на некоторых запросах все же использует индекс (в случае если ищет по началу поля), а regexpы, на сколько я помню, никогда не используют индексы.
 
Сверху