|
|
|
| Доброй ночи всем.
Возникла ситуация когда нужно вытаскивать из базы данные (заголовки статей), в этих заголовках должны содержаться определенные слова. Как это грамотнее всего реализовать?
Пока что я сделал так:
SELECT * FROM data
WHERE (title LIKE '%test%'
OR title LIKE '%tratata%'
OR title LIKE '%olala%'
OR title LIKE '%eshe_odno_kluchevoe_slovo%');
|
Но видится мне, что так как написано выше делают только индейцы, и это неправильно (не добавлять же для каждого слова конструкцию LIKE '%слово%'...) . Все можно сделать гораздо проще. Вопрос: как? Какие возможны варианты? | |
|
|
|
|
|
|
|
для: man1
(09.04.2012 в 23:44)
| | > Но видится мне, что так как написано выше делают только индейцы
а вы считаете что у бледнолицых другая MySQL?
тут все зависит от того какой результат вы хотите получить
и я подозреваю что копать нужно в сторону полнотекстового поиска
ну а по мимо LIKE есть еще REGEXP
> не добавлять же для каждого слова конструкцию LIKE '%слово%'...
добавлять, если вас интересует определенный результат
почитайте отличия LIKE от MATCH
___
наждачная бумага сама по себе хорошая и нужная вещь, если не возникает желания применить её в туалете :) | |
|
|
|
|
|
|
|
для: Valick
(10.04.2012 в 09:22)
| | Благодарствую. Очень полезная информация. Проблема решилась ) | |
|
|
|