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

Форум MySQL

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

 

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

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

тема: Поиск по сайту (MySQL)
 
 автор: Staglu   (04.03.2007 в 20:00)   письмо автору
 
 

На чем основана поисковая система? Объясните чайнику как она работает. Хочу собствееную на сайт написать, а логический осмыслить не могу?

Заранее Спасибо!!!

   
 
 автор: DEM   (04.03.2007 в 20:54)   письмо автору
 
   для: Staglu   (04.03.2007 в 20:00)
 


<?
$poisk_query 
mysql_query("SELECT * FROM `".PR."news` WHERE MATCH(".$pole_poiska.") AGAINST('".$text_poisk."')");

?>


Где $pole_poiska - это поле по которому надо искать, а $text_poisk - текст который надо искать (не меньше четырёх символов)

Так же у каждого поля по которову возможен поиск должен стоять параметр FULLTEXT (выглядет так для поля text (SQL-код)):
FULLTEXT KEY `text` (`text`)

   
 
 автор: cheops   (05.03.2007 в 12:37)   письмо автору
 
   для: Staglu   (04.03.2007 в 20:00)
 

Имеется в виду поиск по сайту или поиск в Интернет, т.е. поисковая система вроде Google, Yandex?

   
 
 автор: Staglu   (05.03.2007 в 16:49)   письмо автору
 
   для: cheops   (05.03.2007 в 12:37)
 

Нет, по своему интернет сайту.

   
 
 автор: cheops   (06.03.2007 в 01:29)   письмо автору
 
   для: Staglu   (05.03.2007 в 16:49)
 

У вас используется СУБД MySQL или вам требуется файловый вариант?

   
 
 автор: Staglu   (08.03.2007 в 11:30)   письмо автору
 
   для: cheops   (06.03.2007 в 01:29)
 

Да я использую СУБД MySQL.

   
 
 автор: cheops   (08.03.2007 в 13:40)   письмо автору
 
   для: Staglu   (08.03.2007 в 11:30)
 

Тогда возможно вас заинтересуют следующие темы
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=514
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=807
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5311
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3447
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6620
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5828
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=6439
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5311
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4699
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3696
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4797
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=14516

   
 
 автор: fis   (05.03.2007 в 13:56)   письмо автору
 
   для: Staglu   (04.03.2007 в 20:00)
 

а почему нельзя просто сделать так ???

SELECT * FROM table WHERE pole LIKE '%query%'

где
table - таблица
pole - ячейка, в которой надо искать
query - слова для поиска

   
 
 автор: Ziq   (05.03.2007 в 15:41)   письмо автору
 
   для: fis   (05.03.2007 в 13:56)
 

Like не ранжирует результаты поиска, а с помощью полнотекстового поиска можно выстраивать результаты в соответствии с точностью поисковому запросу.

и т.д.

   
 
 автор: elenaki   (05.03.2007 в 18:40)   письмо автору
 
   для: Ziq   (05.03.2007 в 15:41)
 

зато MATCH ... AGAINST не ищет по частям слов, а LIKE ищет

   
 
 автор: fis   (05.03.2007 в 19:56)   письмо автору
 
   для: elenaki   (05.03.2007 в 18:40)
 

А как насчет того, чтобы в поисковом запросе заменять пробелы на % (это если для вывода используется LIKE), а потом, после сортировки менять обратно? или я сейчас написал бред :-) ??

   
 
 автор: cheops   (06.03.2007 в 01:28)   письмо автору
 
   для: elenaki   (05.03.2007 в 18:40)
 

В логическом режиме полнотекстовый поиск позволяет искать по части слова.

   
 
 автор: dima_s_d_s   (08.03.2007 в 19:56)   письмо автору
 
   для: cheops   (06.03.2007 в 01:28)
 

а как избавиться от ограничения в числе символов, например я хочу найти слово LG ?

   
 
 автор: cheops   (09.03.2007 в 00:35)   письмо автору
 
   для: dima_s_d_s   (08.03.2007 в 19:56)
 

От этого ограничения можно избавиться только если имеется доступ к конфигурационному файлу my.ini, установив минимальное поле через параметр ft_min_word_len
ft_min_word_len = 2

После этого понадобиться пересобрать полнотекстовый индекс, воспользовавшись оператором REPAIR TABLE.

   
Rambler's Top100
вверх

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