| |
|
|
| | На чем основана поисковая система? Объясните чайнику как она работает. Хочу собствееную на сайт написать, а логический осмыслить не могу?
Заранее Спасибо!!! | |
| |
|
|
| |
|
|
| |
для: 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. | |
| |
|
|