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

Valeriy

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

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

phprus

Moderator
Команда форума

440hz

php.ru
Valeriy

нужно реорганизовать хранение данных тогда можно будет собирать текст любой длины и поиск делать не LIKE а по прямому сравнению, что гораздо быстрее.
 

Valeriy

Новичок
Я б так и сделал, но база уже создана до меня, и править мне ее не дают, вот так.
 

phprus

Moderator
Команда форума
Может тогда вместо LIKE лучше использовать полнотекстовый поиск (fulltext)?
 

Alexandre

PHPПенсионер
Может тогда вместо LIKE лучше использовать полнотекстовый поиск (fulltext)?
или построить индекс,
или использовать уже готовые примочки, например люцену
 

Valeriy

Новичок
Проблема решена, я решыл использовать regexp, заказчик согласился если будет работать немножко долговато(это на будущее). Всем спасибо за советы.
 

phprus

Moderator
Команда форума
Valeriy
Это будет работать не "немного долговато" а в несколько десятков раз дольше чем LIKE, так как последний на некоторых запросах все же использует индекс (в случае если ищет по началу поля), а regexpы, на сколько я помню, никогда не используют индексы.
 
Сверху