[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемы с поиском
xJlaIIax
При создании поиска возникла проблема, поиск выдаёт сообщение, что по вашему запросу ничего не найдёно, хотя то что я ищу в БД есть.

$result = mysql_query ("SELECT * FROM data WHERE MATCH(text) AGAINST('$search') ORDER BY date DESC, id DESC",$db);




Спустя 34 минуты, 2 секунды (22.06.2009 - 16:59) freed-master написал(а):
У меня как то тоже подобная проблема была.
Но я потом сделал запрос через LIKE.
Вопрос по ходу: чем отличается MATCH и LIKE?

Спустя 1 час, 36 минут, 28 секунд (22.06.2009 - 18:35) xJlaIIax написал(а):
Цитата
Но я потом сделал запрос через LIKE

А как сделать запрос через LIKE?

Спустя 1 минута (22.06.2009 - 18:36) xJlaIIax написал(а):
Если я правильно понял то так?
PHP
$result mysql_query ("SELECT * FROM data WHERE LIKE(text) AGAINST('$search') ORDER BY date DESC, id DESC",$db);

Спустя 14 минут, 6 секунд (22.06.2009 - 18:50) freed-master написал(а):
Я делал просто:
SQL
"SELECT * FROM `data` WHERE `table_name` LIKE '%text%' ORDER BY `date` DESC, `id` DESC"

Спустя 1 час, 13 минут, 42 секунды (22.06.2009 - 20:04) xJlaIIax написал(а):
СПАСАСИБО большое, помогло. Сделал как ты сказал!

Код
$result = mysql_query ("SELECT * FROM data WHERE text LIKE '%$search%' ORDER BY date DESC, id DESC",$db);

Спустя 21 минута, 50 секунд (22.06.2009 - 20:26) freed-master написал(а):
Вопрос к экспертам:
Цитата
чем отличается MATCH и LIKE?

Спустя 5 минут, 2 секунды (22.06.2009 - 20:31) Sylex написал(а):

Спустя 17 минут, 46 секунд (22.06.2009 - 20:49) xJlaIIax написал(а):
Преимущества и недостатки

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


Недостатки LIKE:
отсутствие поддержки морфологии
отсутствие модификаторов
поиск по всем строкам

Преимущества полнотекстового поиска:
поддержка морфологии
выдача результатов по релевантности
наличие модификаторов, схожих с модификаторами в поске Гугла и Яндекса
стоп-слова
возможность настройки


Недостатки:
отсутствие возможности сортировки
поддержка только VARCHAR и TEXT полей с индексами FULLTEXT
ресурсоемкий процесс
изначальная поддержка только MyISAM таблиц
при установленном ключе FULLTEXT добавление данных в таблицу происходи дольше

Спустя 31 минута, 16 секунд (22.06.2009 - 21:20) xJlaIIax написал(а):
Интересно почему у меня не получается искать с помощью MATCH?

Спустя 13 часов, 52 минуты, 50 секунд (23.06.2009 - 11:13) Sylex написал(а):
xJlaIIax
я думаю MySQL гонит.... на 99.9%!

Спустя 32 минуты, 19 секунд (23.06.2009 - 11:45) glock18 написал(а):
Цитата (Sylex @ 23.06.2009 - 08:13)
я думаю MySQL гонит.... на 99.9%!

ээээ... не понял. в смысле?

Спустя 6 часов, 13 минут, 27 секунд (23.06.2009 - 17:59) kirik написал(а):
glock18
всмысле что-то в MySQL сломалось и теперь оно не правильно работает smile.gif

Спустя 38 минут, 21 секунда (23.06.2009 - 18:37) glock18 написал(а):
Цитата (kirik @ 23.06.2009 - 14:59)
всмысле что-то в MySQL сломалось и теперь оно не правильно работает smile.gif


а, бывает smile.gif

Спустя 3 часа, 50 секунд (23.06.2009 - 21:38) Sylex написал(а):
xJlaIIax
переустанови MySQL, все очень серьезно

Спустя 1 час, 22 минуты, 41 секунда (23.06.2009 - 23:01) Guest написал(а):
Mysql у меня на хостинге.

Спустя 1 час, 8 минут, 26 секунд (24.06.2009 - 00:09) xJlaIIax написал(а):
А может быть лучше установить поиск от гуугла?

Спустя 3 месяца, 3 дня, 21 час, 28 минут, 42 секунды (27.09.2009 - 21:38) xJlaIIax написал(а):
Поиск через LIKE может искать в нескольких столбцах таблице или только в одной?
Например я создал запрос:
SQL
$result = mysql_query ("SELECT * FROM data WHERE text, name LIKE '%$search%' ORDER BY date DESC, id DESC, id LIMIT $start, $num",$db);

И он отказывается искать.

Спустя 1 час, 13 минут, 24 секунды (27.09.2009 - 22:51) Pinoplast написал(а):
Цитата (xJlaIIax @ 22.06.2009 - 18:20)
Интересно почему у меня не получается искать с помощью MATCH?

Ты открыл поля для поиска в базе?

Спустя 1 час, 33 минуты, 41 секунда (28.09.2009 - 00:25) xJlaIIax написал(а):
Открыл индекс(FULLTEXT) и в text и в name.

Спустя 41 минута, 37 секунд (28.09.2009 - 01:06) FatCat написал(а):
Цитата (xJlaIIax @ 27.09.2009 - 22:38)
Поиск через LIKE может искать в нескольких столбцах таблице или только в одной?
Например  я создал запрос:
SQL
$result = mysql_query ("SELECT * FROM data WHERE text, name LIKE '%$search%' ORDER BY date DESC, id DESC, id LIMIT $start, $num",$db);

И он отказывается искать.
SQL
$result = mysql_query ("SELECT * FROM data WHERE text LIKE '%$search%' OR name LIKE '%$search%' ORDER BY date DESC, id DESC, id LIMIT $start, $num",$db);
А так? wink.gif


Цитата (xJlaIIax @ 28.09.2009 - 01:25)
Открыл индекс(FULLTEXT) и в text и в name.

Нафига? Они не нужны для LIKE.

Спустя 1 день, 19 часов, 16 минут, 55 секунд (29.09.2009 - 20:23) xJlaIIax написал(а):
Цитата
SQL
$result = mysql_query ("SELECT * FROM data WHERE text LIKE '%$search%' OR name LIKE '%$search%' ORDER BY date DESC, id DESC, id LIMIT $start, $num",$db);

А так?

Спасибо тебе большое, помогло! Наконец то я с этим поиском разобрался, осталось только по мелочи на сайте покапаться и можно его в широкие просторы интернета запускать. )
Быстрый ответ:

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