|
|
|
| На чем основана поисковая система? Объясните чайнику как она работает. Хочу собствееную на сайт написать, а логический осмыслить не могу?
Заранее Спасибо!!! | |
|
|
|
|
|
|
|
для: 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`) | |
|
|
|
|
|
|
|
для: Staglu
(04.03.2007 в 20:00)
| | Имеется в виду поиск по сайту или поиск в Интернет, т.е. поисковая система вроде Google, Yandex? | |
|
|
|
|
|
|
|
для: cheops
(05.03.2007 в 12:37)
| | Нет, по своему интернет сайту. | |
|
|
|
|
|
|
|
для: Staglu
(05.03.2007 в 16:49)
| | У вас используется СУБД MySQL или вам требуется файловый вариант? | |
|
|
|
|
|
|
|
для: cheops
(06.03.2007 в 01:29)
| | Да я использую СУБД MySQL. | |
|
|
|
|
|
|
|
|
для: Staglu
(04.03.2007 в 20:00)
| | а почему нельзя просто сделать так ???
SELECT * FROM table WHERE pole LIKE '%query%'
|
где
table - таблица
pole - ячейка, в которой надо искать
query - слова для поиска | |
|
|
|
|
|
|
|
для: fis
(05.03.2007 в 13:56)
| | Like не ранжирует результаты поиска, а с помощью полнотекстового поиска можно выстраивать результаты в соответствии с точностью поисковому запросу.
и т.д. | |
|
|
|
|
|
|
|
для: Ziq
(05.03.2007 в 15:41)
| | зато MATCH ... AGAINST не ищет по частям слов, а LIKE ищет | |
|
|
|
|
|
|
|
для: elenaki
(05.03.2007 в 18:40)
| | А как насчет того, чтобы в поисковом запросе заменять пробелы на % (это если для вывода используется LIKE), а потом, после сортировки менять обратно? или я сейчас написал бред :-) ?? | |
|
|
|
|
|
|
|
для: elenaki
(05.03.2007 в 18:40)
| | В логическом режиме полнотекстовый поиск позволяет искать по части слова. | |
|
|
|
|
|
|
|
для: cheops
(06.03.2007 в 01:28)
| | а как избавиться от ограничения в числе символов, например я хочу найти слово LG ? | |
|
|
|
|
|
|
|
для: dima_s_d_s
(08.03.2007 в 19:56)
| | От этого ограничения можно избавиться только если имеется доступ к конфигурационному файлу my.ini, установив минимальное поле через параметр ft_min_word_len
После этого понадобиться пересобрать полнотекстовый индекс, воспользовавшись оператором REPAIR TABLE. | |
|
|
|