[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск слов в базе
savelikan
Привет всем! Пишу скрипт поиска по тексту в БД)))
Вот такой запрос создал)
SELECT * FROM `krok_base` WHERE `kb_question` LIKE '%нет%' LIMIT 50 

Вот тут такая ситуация... если в тексте есть "Какой морфогеНЕТичний механизм"....
Как сделать так, чтоб оно искало целое слово или несколько слов, а не часть слова... При устовии что есть комы, крапки в тексте и т.д)
Спасибо)))


Едит: попробовал с MATCH() AGAINST()
Ищет хорошо, но почти в два раза дольше...(

_____________
Одесса - мой город!)))
Игорь_Vasinsky
SELECT * FROM `krok_base` WHERE `kb_question` LIKE '% нет%' LIMIT 50

но тут бы тоже сюрпризы типа

,нет

.нет


и т.д.

регулярки - твой вариант http://dev.mysql.com/doc/refman/5.7/en/regexp.html

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Цитата (savelikan @ 23.03.2016 - 20:06)
Ищет хорошо, но почти в два раза дольше...(

Скорее всего такой результат из-за того, что таблица небольшая. Вообще полнотекстовый поиск быстрее чем like %word%, и есть свои индексы http://makandracards.com/makandra/12813-pe...ull-text-search
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.