Как искать в mysql по обрывку слова?

MS
На сайте с 26.04.2008
Offline
59
934

Привет всем!

Вот я задался вопросом, на который не могу найти толком ответ. Как искать в mysql по отрывку слова?

вот эта функция ищет тоько слово целиком, ито через раз

$query = mysql_query("SELECT * FROM table WHERE MATCH(text) AGAINST('".$search."') ");

например ввожу привет, он находит, а когда прив, не находит

[Удален]
#1

$query_text = "SELECT * FROM table WHERE text like '%$search%'";
?
Hartamon
На сайте с 04.07.2006
Offline
165
#2

$query = mysql_query("SELECT * FROM table WHERE MATCH(text) AGAINST('".$search."*') ");  

So1, судя по всему Mac-style, нужно использовать полнотекстовый поиск

MS
На сайте с 26.04.2008
Offline
59
#3

а какя впринципе разница?

Mac-style добавил 28.01.2011 в 11:18

Во круто!!! Спасибо So1!!!!!!!!!

Mac-style добавил 28.01.2011 в 11:19

Всетки скажите какая разница между полнотекстовым и таким?

vitroot
На сайте с 16.12.2010
Offline
22
#4
Всетки скажите какая разница между полнотекстовым и таким?

Преимущества поиска с помощью оператора LIKE:

* незначительное увеличение времени обработки запроса при увеличении его сложности

* возможность сортировки результатов

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

Недостатки LIKE:

* отсутствие поддержки морфологии

* отсутствие модификаторов

* поиск по всем строкам

Преимущества полнотекстового поиска:

* поддержка морфологии

* выдача результатов по релевантности

* наличие модификаторов, схожих с модификаторами в поске Гугла и Яндекса

* стоп-слова

* возможность настройки

Недостатки:

* отсутствие возможности сортировки

* поддержка только VARCHAR и TEXT полей с индексами FULLTEXT

* ресурсоемкий процесс

* изначальная поддержка только MyISAM таблиц

* при установленном ключе FULLTEXT добавление данных в таблицу происходи дольше

Администратор Linux, FreeBSD (http://pro.vitroot.ru) Skype: vit190685
Hartamon
На сайте с 04.07.2006
Offline
165
#5

vitroot, лучше уж тогда привести ссылку на пост с хабра: http://habrahabr.ru/blogs/mysql/25646/

Рекомендую почитать комменты к этому посту, и, думаю, станет ясно, когда использовать fulltext, а когда like

[Удален]
#6
Hartamon:
станет ясно, когда использовать fulltext, а когда like

стоит использовать like и любой полнотекстовый двигатель, полнотекстовый поиск в мускуле - полное гавно.

seodude добавил 28.01.2011 в 13:12

в зависимости от задачи конечно

vitroot
На сайте с 16.12.2010
Offline
22
#7
Hartamon:
vitroot, лучше уж тогда привести ссылку на пост с хабра: http://habrahabr.ru/blogs/mysql/25646/
Рекомендую почитать комменты к этому посту, и, думаю, станет ясно, когда использовать fulltext, а когда like

Скажем, я просто решил не забивать страницу большим объемом текста, поэтому процитировал основное :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий