Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: корректный поиск
 
 автор: Serg_l   (03.03.2007 в 18:13)   письмо автору
 
 

Какая технология поиска по MySQL более корретна.
В нете много статей, все делают по разному. Хочется услышать мнение экспертов, дабы не наступать на грабли.

Например остался вопрос стоит ли использовать полнотекстовый поиск с пом. MATCH или можно пользоваться оператором LIKE?
Прочитал, что полнотекстовый поиск пропускает слово, если оно встречается всего один раз или наоборот слишком часто. В моем случае в каталоге продукции название прибора может встретиться всего единожды... будет грустно, если посетитель его не найдет...

Надо, чтоб поиск находил слово, даже если оно встречается на сайте всего один раз.

Использую Mysql и php. Инфа в нескольких таблицах одной БД.
Если можно, прошу привести пример запроса к нескольким таблицам БД одновременно

   
 
 автор: ddhvvn   (03.03.2007 в 18:45)   письмо автору
 
   для: Serg_l   (03.03.2007 в 18:13)
 

Я использую LIKE и пока все норм!

   
 
 автор: Serg_l   (03.03.2007 в 19:02)   письмо автору
 
   для: ddhvvn   (03.03.2007 в 18:45)
 

Спасибо, хотелось бы услышать сравнение методов с MATCH и LIKE и пример запроса к нескольким таблицам.

   
 
 автор: cheops   (03.03.2007 в 19:48)   письмо автору
 
   для: Serg_l   (03.03.2007 в 18:13)
 

Нет, полнотекстовый поиск не пропускает слово, встречающееся единожды, этот механизм пропускает слова встречающиется в более чем половине записей и слишком короткие слова и слова из стоп-списка, которым в новых версиях MySQL можно управлять. Более того ограничения связанное с поиском слов встречающихся в более чем половине записей можно исключить переходом в логический режим.

Полнотекстовый режим работает быстрее оператора LIKE, так как последний сканирует таблицу, а полнотекстовый поиск работает с индексом FULLTEXT. Конечно индекс занимает дополнительное место на жёстком диске, часто даже больше, чем занимают данные. Но и скорость поиска получается очень высокая и практически не требующая процессора.

LIKE - это стандартный оператор, его вы найдёте в любой СУБД, полнотекстовый поиск у всех организован по разному, поэтому если важна совместимость со многими СУБД, следует ориентироваться на LIKE. Однако если вы планируете работать только с MySQL выбор однозначно падает на полнотекстовый поиск - он посложнее в использовании, но гораздо эффективнее.

   
 
 автор: Serg_l   (03.03.2007 в 19:51)   письмо автору
 
   для: cheops   (03.03.2007 в 19:48)
 

Благодарю, более чем понятно, MySQL мне достаточно, изучаем полнотекстовый поиск ...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования