| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > поиск в БД |
| Автор: proger 5.12.2010, 16:41 | ||
| Здравствуйте. В БД есть поле тип - TEXT На сайте есть форма поиска. Если пользователь ввел для поиска фразу (содержит более одного слова) то как искать в базе? Я вот думаю разбить поисковую фразу на слава и запрост строить с перечисление слов в таком ввиде
У кого есть какие мысли? |
| Автор: skyboy 5.12.2010, 16:49 |
| медленнее этого - только вытягивать поочередно все записи в РНР и искать при помощи preg_match. то, что тебе надо реализовать, называется полнотекстовым поиском(fulltext search). есть встроенные в СУБД(кто знает, какую ты там используешь?) механизмы, есть внешние относительно БД средства(Sphinx etc). И что угодно будет во много раз бысртее, чем LIKE в SQL запросе. |
| Автор: proger 5.12.2010, 18:41 | ||
mysql |
| Автор: skyboy 6.12.2010, 11:59 |
| ну, в mysql есть http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html. но http://sphinxsearch.com быстрее. |
| Автор: bars80080 15.12.2010, 18:00 |
я так понимаю это инсталируемая библиотека. а нет ли его просто в виде подключаемых скриптов? |
| Автор: skyboy 15.12.2010, 21:10 |
это приложение. отдельно работающее. индексатор на PHP? да, есть такое, но не могу вспомнить, как же называется. |
| Автор: skyboy 15.12.2010, 22:10 |
| вот, http://www.sfors.ru/articles/261.html использовал Sphider, нареканий не было. потом поставил Sphinx. к sphider'y не возвращался. |
| Автор: bars80080 16.12.2010, 00:08 |
| ок, почитаю |