|
Как работает поисковая система сайта ?
Найти любую книгу на нашем сайте очень просто. Но для экономии Вашего времени очень полезно хотя бы в общих чертах понимать как работает поисковая система сайта (примерно также работают большинство поисковиков, от Google и Яndex до ...). Вот несколько ключевых моментов:
Поисковая система — это очень тупой робот, а не собеседник ( бухарь-собеседник :) ), поэтому не задавайте никаких вопросов — он их всё равно не поймёт! Не нужно ставить знак «?» в конце Вашего запроса :). Поиск осуществляется подбором слов в базе, содержащей названия книг, и сопоставлением этих слов со словами Вашего запроса. Любую Вашу введённую фразу поисковая система рассматривает всего лишь как набор знаков, и даже не пытается её понять и осмыслить! Для продвинутых, скажем, что наш поисковый робот, как и большинство других поисковиков, работает на основе обратного индекса [reverse keyword index].
Вы можете вводить русские и английские буквы в любом регистре — результаты поиска от этого не зависят.
Как происходит поиск? Вся введённая для поиска фраза разбивается по пробелам на слова (пробелы — это промежутки между словами). Затем у каждого слова, написанного русскими буквами, отбрасывается окончание — по английски это называется stemming, мы это называем добавлением вырождения по окончаниям — все слова с разными окончаниями «слипаются» в одно слово. Зачем это нужно? Например, если Вы вдруг ищете книги со словом «трансконтинентальный», то, наверное, Вы сочтёте естественным если результат поиска будет содержать также и книги со словом «трансконтинентальная», а также книги со словом «трансконтинентальное» и т. д. Продвинутые пользователи с филологическим уклоном могут заметить, что эту работу по отбрасыванию окончаний они могут проделать и сами — и писать в запросе не «трансконтинентальный», а «трансконтинентальн» — забавно, но такое навязчивое предложение к пользователям можно наблюдать в поисковиках некоторых весьма крутых сайтов… У нас, дорогие Вы наши, Вам не надо так сильно перенапрягаться! Наш робот сделает это за Вас! Тем более, не у всех есть филологический уклон :). Да и сам по себе, вопрос не простой — например, в отбрасывании окончаний как у английских слов, так и у слов старомонгольского языка мы не разобрались сами до сих пор… Но для нас это не смертельно! Ведь 99,99% наших книг — это книги на русском языке :). Так что учите русский язык — пригодится!
После отбрасывания окончаний в наборе слов, на который разбился Ваш поисковый запрос, робот оставляет слова длиной не менее трёх букв ( нет, ЭТО слово НАШ РОБОТ не оставит в любом случае :) ). Далее возможны два сценария. Если итоговый набор состоит из одного слова, то Вам выдаётся список книг, в названии которых встречается либо это слово, либо слово частью которого является это слово. Например, пусть в итоговом наборе для поиска содержится только слово «акт», тогда в результатах запроса будут книги, в названии которых есть слова, содержащие компоненту «акт» — это «акты», «актёры», «актрисы», «такт», «практика» и т. д.. Итоговый список книг будет упорядочен по убыванию частоты повторяемости этого слова (или, говоря по-учёному, по релевантности) — т.е. сначала в этом списке будут идти книги, где слово из запроса повторяется, скажем, 100 раз, и только после него книги, где повторяемость только 10. Возвращаясь к нашему примеру со словом «акт», заметим, что выбранное слово не слишком удачно для поиска — оно наводит слишком много шума и мусора.
Если итоговый набор состоит более чем из двух слов, то поисковая система сначала пытается найти книги, в названии которых встречаются все слова (такая ситуация называется как «точное соотвествие»). Если ей это удаётся и найдена хотя бы одна книга, то она на этом успокаивается и предъявляет Вам список найденных книг по «точному соответствию». В противном случае поисковая система переходит к созданию обычного перечня книг, в описании которых встречается хотя бы одно слово из итогового набора. Как и в случае одного слова, книги упорядочиваются по убыванию частоты употребления.
Из приведённых ключевых моментов, внимательный читатель может заключить, что есть хорошие слова для поиска, и есть плохие слова для поиска, например, тот же «акт». Дадим два предостерегающих совето-примера, которые помогут Вам сохранить время при поисках книг на этом сайте.
Очень плохая мысль использовать при поиске частоупотребительные короткие слова, как например, «синее море». Наш робот превратит этот запрос в набор из двух слов (СИН, МОР), и пойдёт колбасить всю базу на поиск слов с такими компонентами. В итоге, Вам могут выплюнуть такую простыню, которая будет содержать как книги со словом керосин, так и книги со словом мухомор, если только не найдётся хотя бы одна книга, содержащая слова сразу с двумя этими компонентами. Заранее ясно, что тема этих книг может быть далека друг от друга и от темы «синее море». Поэтому, если Ваш запрос состоит из частоупотребительных коротких слов, то приготовтесь к тому, что результат поиска будет содержать много мусора. При этом, увеличивая количество слов в запросе путём добавления новых «плохих» слов, Вы не только не сужаете результат, но напротив, зачастую ещё больше расширяете его.
Наоборот, указывая в запросе «узкозаточенные» и длинные слова, в результатах Вы получаете минимум шума. Например, запрос «бонапарт ватерлоо» является хорошим. Поисковый робот превратит этот запрос в набор слов (БОНАПАРТ, ВАТЕРЛ), каждое из которых является очень характерным.
|