'SELECT * FROM `pages` WHERE `caption` LIKE "%'.$search_words.'%"' ;
так работает, но хочу чтоб сравнение было не по фразе, а по массиву слов, т.е. в $search_words сохраняю массив поисковых слов. В прошлый раз получил ценный ответ как заменить OR, возможно ли подобное для LIKE
Спустя 3 минуты, 10 секунд (26.04.2012 - 14:09) Игорь_Vasinsky написал(а):
Спустя 20 минут, 30 секунд (26.04.2012 - 14:30) vital написал(а):
Цитата (Игорь_Vasinsky @ 26.04.2012 - 14:09) |
FULL TEXT SEARCH FROM MySQL http://www.mysql.ru/docs/man/Fulltext_Search.html |
...ну или
`caption` LIKE "%'.$search_word1.'%"' OR `caption` LIKE "%'.$search_word2.'%" OR `caption` LIKE "%'.$search_word3.'%"
т.е. вернутся к OR :)
Спустя 6 минут, 28 секунд (26.04.2012 - 14:36) Игорь_Vasinsky написал(а):
Хотел предложить, но акцентировал внимание на первую половину фразы
Цитата |
как заменить OR, возможно ли подобное для LIKE |
Спустя 4 минуты, 1 секунда (26.04.2012 - 14:40) dvs написал(а):
Спасибо за ответы, документацию прочитал, довольно интересно, смутило то, что
Цитата |
Описанная техника подсчета лучше всего работает для больших наборов текстов (фактически она именно для этого тщательно настраивалась). Для очень малых таблиц распределение слов не отражает адекватно их смысловое значение, и данная модель иногда может выдавать некорректные результаты. mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('MySQL'); Empty set (0.00 sec) |
Спустя 15 часов, 23 минуты, 14 секунд (27.04.2012 - 06:04) dvs написал(а):
интересно почему никто не написал про Sphinx, знал бы я что такое есть, не стал бы заморачиваться с LIKE