Принцип работы поиска по сайту
Как можно концептуально организовать поиск по сайту (сайт на системе управления)?
Посмотрел заданные вопросы:
Погуглил, но особо не нашел откуда можно изучить вопрос. Интересует по каким принципам это может работать.
Из пришедших в голову вариантов:
- Поиск по полям таблиц.
- Создать отдельную таблицу допустим
searchпробежаться по всем страницам сайта и записывать их содержимое в эту таблицу, поиск делать уже по этой таблице, а при обновлении контента заново индексировать страницу где, что то обновилось (но что делать если на странице динамический контент не знаю).
И как работают поисковые системы (например гугл)
Ответы (1 шт):
Для страниц с динамическим контентом нужен алгоритм извлечения полезной информации из контента. Для HTML-текста один из лучших алгоритмов - readability. Он проставляет каждому тегу так называемый readability score, а также уделяется огромное внимание meta-данным страницы.
Для поиска неточных форм слов можно использовать Стеммер Портера. Это самый простой способ, но можно погуглить и другие способы лексического морфологического синтаксического анализа выражений.
Для поиска по всем форматам контента (html, txt, doc, xls, pdf) есть софт Sphinx.