Полнотекстовый поиск
Полнотекстовый поиск (англ. Full text searching, фр. Recherche en texte integral) — автоматизированный поиск документов, при котором поиск ведётся не по именам документов, а по их содержимому, всему или существенной части.[1] Многие веб-сайты и прикладные программы (например, программы для обработки текстов) предоставляют возможности полнотекстового поиска. Некоторые системы веб-поиска, такие как AltaVista, используют методы полнотекстового поиска, в то время как другие индексируют только часть веб-страниц, проверенных их системами индексации.
Полнотекстовый индекс
[править | править код]Первые версии программ полнотекстового поиска предполагали сканирование всего содержимого всех документов в поиске заданного слова или фразы. При использовании такой технологии поиск занимал очень много времени (в зависимости от размера базы), а в интернете был бы невыполним. Современные алгоритмы заранее формируют для поиска так называемый полнотекстовый индекс — словарь, в котором перечислены все слова и указано, в каких местах они встречаются. При наличии такого индекса достаточно осуществить поиск нужных слов в нём и тогда сразу же будет получен список документов, в которых они встречаются.
Реализации
[править | править код]Этот раздел не завершён. |
MySQL
[править | править код]Полнотекстовые индексы в MySQL обозначаются как типом «FULLTEXT», который может применяться для столбцов типов «VARCHAR» и «TEXT». При массовом добавлении данных в таблицу с полями «FULLTEXT» индекс будет создаваться сразу, что замедлит работу, для избежания эффекта рекомендуется модернизировать поля уже после добавления.
Поиск выполняется с помощью функций MATCH() и AGAINST():
SELECT * FROM articles WHERE MATCH (title, body) AGAINST ('поиск');
При этом поисковая фраза должна быть написана слово в слово (то есть «поиска», «поисковик» — невалидные варианты для примера выше)
Результат (жирным выделены найденные соответствия):
id | title | body |
---|---|---|
5 | Регулярные выражения | В большинстве реализаций регулярных выражений есть способ производить поиск фрагмента текста … |
1 | Полнотекстовой поиск | Полнотекстовой поиск … |
См. также
[править | править код]Ссылки
[править | править код]- Бартунов О., Сигаев, Ф. Введение в полнотекстовый поиск в PostgreSQL. Архивировано 8 октября 2015 года.
- Лебедев, Д., Юсов, О. Полнотекстовый поиск в MySQL на PHP. Архивировано 1 января 2016 года.
- Петрухин, А. Н., Дворецкий, А. Ю. Цифровой поиск как основа реализации словаря полнотекстовой базы данных // Вопросы радиоэлектроники. — Москва: Центральный научно-исследовательский институт экономики, систем управления и информации «Электроника. — ISSN 0233-9950.
- Симанкина, Н. И., Шипулина, К. В., Костарев, А. А., Окунев, А. Ф. Разработка подсистемы полнотекстовой индексации и полнотекстового поиска для платформы облачного контент-репозитория. — 2014. — № 4 (27). — С. 92—96.
- Филатов, В. О., Кравцов, И. В., Варфоломеев, А. Г. Информационная система для работы с полнотекстовыми базами данных исторических документов на основе технологии XML. Архивировано 18 августа 2019 года.
- Зайцев, А. В. Методика создания индексных файлов для осуществления полнотекстового поиска в сети Интернет. Архивировано 23 декабря 2015 года.
- Колосов, А. П., Богатырев, М. Ю. Система полнотекстового поиска по длинным запросам. Архивировано 4 марта 2016 года.
Примечания
[править | править код]- ↑ Скачать ГОСТ 7.73-96 СИБИД. Поиск и распространение информации. Термины и определения . Дата обращения: 9 июля 2011. Архивировано 31 мая 2011 года.
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |
В статье не хватает ссылок на источники (см. рекомендации по поиску). |