Применение Sphinx search - полнотекстовой системы поиска
Автоматизированный поиск документов по содержимому. Полнотекстовая поисковая система Sphinx search с открытым исходным кодом. Применение Sphinx search: возможности, принципы работы, решаемые проблемы. История проекта, его сравнение c Manticore search.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.09.2024 |
Размер файла | 615,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.Allbest.Ru/
Применение Sphinx search - полнотекстовой системы поиска
Зазуля А.А., студент
Алиев К.К., студент
Комаров В.Р., студент
Аннотация
Поисковым системам уже больше 29 лет. За это время люди придумали и опробовали много разных теорий и техник. Для простых пользователей интернета сейчас есть поисковые системы такие как Google и Яндекс, но для разработчиков вебсайтов, владельцев интернет-форумов и других более продвинутых пользователей нужны инструменты поиска с большими возможностями и расширенными настройками.
В работе рассматривается полнотекстовая система Sphinx search. Применение Sphinx search, основные возможности, принципы работы и решаемые проблемы. Также рассматривается история развития проекта и сравнение Sphinx search c Manticora search.
Ключевые слова: полнотекстовой поиск, поисковые системы, база данных, индексация, сайт.
Annotation
Search engines are more than 29 years old. During this time, people have tried out and came up with many different theories and techniques. Ordinary Internet users have search engines such as Google and Yandex, but for developers of websites, online forums and other advanced users require search tools with great features and more settings.
This paper discusses the full-text search system Sphinx. Application of Sphinx search, its main features, working principles and problems to be solved. It also discusses the history of Sphinx search and compares Sphinx search with Manticora search.
Keywords: full-text search, search engines, database, indexing, website.
Настало время небольшой истории о большой полнотекстовой системе поиска “Sphinx”. Для того, чтобы оценить всю полезность данной системы, для начала рассмотрим, что такое “полнотекстовой поиск”. Полнотекстовый поиск - автоматизированный поиск документов, при котором поиск ведётся не по именам документов, а по их содержимому. При полнотекстовом поиске поисковая система проверяет все слова в каждом сохраненном документе, пытаясь соответствовать критериям поиска (например, тексту, указанному пользователем). Различия между логическим и полнотекстовым поиском можно представить следующим образом: логические критерии используют целые столбцы в качестве значений, в то время как полнотекстовые критерии разбивают текстовые столбцы на массивы слов, а затем работают с этими словами и их позицией, сопоставляя их с текстовым запросом.
Sphinx (SQL Phrase Index) - полнотекстовая поисковая система, с открытым исходным кодом, разработанная Андреем Аксеновым в 2001 году. Известна за счет выполнения поиска по большим данным наиболее эффективно. Индексируемые данные могут поступать из самых разных источников в интернете: баз данных SQL, текстовых файлов, HTML файлов, почтовых ящиков и так далее. Технология SphinxSE используется для поиска в популярном блоге Хабр, проекте Викимапия и других высоконагруженных проектах [1]. поиск полнотекстовый sphinx search manticore
Основные возможности Sphinx
• Высокая скорость индексации (до 10-15 МБ/сек на каждое процессорное ядро);
• Высокая скорость поиска (до 150-250 запросов в секунду на каждое процессорное ядро с 1 000 000 документов);
• Высокая масштабируемость (крупнейший известный кластер индексирует до 3 000 000 000 документов и поддерживает более 50 миллионов запросов в день);
• Поддержка распределенного поиска;
• Поддержка нескольких атрибутов для каждого документа (то есть, группы, временные метки и т.д.);
• Поддержка морфологического поиска - имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков;
• Встроенная поддержка PostgreSQL и MySQL;
• Поддержка баз данных совместимых ODBC (MS SQL, Oracle и т. д.).[2]
Как работает Sphinx?
Sphinx использует базу данных в качестве источника данных, на основе этого он создает поисковые индексы, которые позволяют быстро искать данные. Для работы Sphinx использует API через который сайт получает по массив идентификаторов записей по поисковому запросу. Полученные записи можно обработать удобным фильтром и представить в выгодном пользователю или владельцу сайта виде.
Проблемы решаемые Sphinx?
Если объем базы данных сайта превышает 100 000 записей, то поиск c помощью стандартных средств базы данных будет крайней медленный. Поэтому для решения этой проблемы используется Sphinx.
Наиболее важная проблема, решаемая Sphinx -- это быстрый поиск в большом объеме данных, за счет оптимизированных алгоритмов индексации. Второй немало важной возможностью является удобная настройка поиска по критериям групп пользователей.
Развитие проекта
2001 - Тогда, каждый продвинутый вебсайт пытался встроить средство поиска в собственное ядро, что было не очень удобно. Андрей Аксёнов начал разработку Sphinx Search.
2010 - Sphinx стал популярным полнотекстовым поисковым движком, но концепция “данные лежат где-то, а мы просто делаем полнотекстовый индекс, который нужно регулярно обновлять” стала устаревать. Появились конкуренты например Elastic Search предложивший новую концепцию “пишите в меня по HTTP что угодно в real-time, я сам разберусь что к чему и разложу по кодам” [3].
2017 - спустя 7 лет развития интернета и поисковых систем:
• Эластик стал самым популярным инструментом для полнотекстового поиска и аналитики по логам и данным.
• Начиная с третей версии Sphinx стал проприетарным проектом, разработка существенно замедлилась, а позже и вовсе была полностью приостановлена на неопределенный срок.
• Многим пользователям Sphinx было неудобно переходить на Elastic search. Кроме того, были найдены недостатки Elastic: чрезмерное потребление памяти, сложности в поддержании больших кластеров, некоторые проблемы с производительностью.
Рисунок 1. Сравнение Sphinx и Manticora с лимитом памяти 1000 мегабайт
В итоге пользователи и некоторые бывшие разработчики Сфинкса объединились и сделали форк (использование кодовой базы старого проекта для старта нового) - Manticore Search [4]. Основными целями были:
• Вернуться к модели развития проекта с открытым кодом
• Сделать проект более доступным для обычного пользователя и расширить функционал, опираясь на востребованность на рынке.
• И сделать все необходимые изменения, чтоб вдохнуть в проект новые силы и вытянуть проект на передовой уровень.
Сравнение Sphinx с Manticore
Результат на 2022 год. Дан датасет на 1 миллион комментариев с сайта Hacker News [5].
Выводы
На мой взгляд в sphinx нет `волшебных технологий', есть только хорошо оптимизированные алгоритмы и продуманные системы поиска с учетом языковых особенностей. По отзывам пользователей sphinx умеет очень быстро выполнять первичную индексацию сайтов, а также отслеживать изменения и заносить их в свою базу данных (это очень важно для поиска сообщений в веб-форумах).
Использованные источники
1. Официальный сайт Sphinx, [Электронный ресурс].
2. Система полнотекстового поиска Sphinx, [Электронный ресурс].
3. Научные конференции с участием Андрея Аксенова (Создателя Sphinx), [Электронный ресурс].
4. Официальный сайт Manticora, [Электронный ресурс].
5. Cравнение Manticora и Sphinx, [Электронный ресурс].
Размещено на Allbest.Ru
...Подобные документы
Возможности Search: управление документами и данными об изделиях, маршрутизация документов и заданий; основные параметры документа. База данных объектов и информационная поддержка их жизненного цикла. Интерфейс пользователя, редактирование спецификаций.
отчет по практике [1,7 M], добавлен 23.12.2009Использование теории графов для решения задач. Информационные структуры входных и выходных данных. Иерархическая схема программы. Руководство оператора: назначение и условия выполнения программы. Граф-схема FormCreate, Found, RassUpdate и Search.
курсовая работа [2,5 M], добавлен 07.08.2013Використання структурно-орієнтованого підходу при написанні програм на мові Сі та Паскаль, тестування та відладки, оформлення документації на програмну розробку. Побудова ефективних алгоритмів для розв’язку типових задач. Процедури пошуку (search).
курсовая работа [199,5 K], добавлен 14.01.2016Анализ существующих поисковых систем и используемых ими алгоритмов поиска документов. Разработка информационно-поисковой системы словарного типа, способной осуществлять релевантный поиск документов, особенности ее структуры и информационно-поисковой базы.
дипломная работа [942,1 K], добавлен 19.05.2011Яндекс как крупнейшая российская поисковая система и интернет-портал, история появления. Поиск системы: охват форматов, язык запросов. Мультимедийно-поисковые, рыночно-поисковые, справочно-информационные, рекламные и персонализированные веб-сервисы.
курсовая работа [105,3 K], добавлен 21.05.2013Приемы поиска информации в Интернете. Поиск по известному адресу, конструирование адреса пользователем. Специальные информационно-поисковые системы: классификационные (рубрикаторы) и словарные. Поиск информационных ресурсов по различным направлениям.
реферат [27,1 K], добавлен 03.04.2010Сферы применения и возможности WordPress - CMS с открытым исходным кодом, распространяемой под GNU GPL. Уязвимости WordPress в плагинах Emaily, FeedList, WP Auctions и Old Post Spinner. Межсайтовый скриптинг WordPress в плагине Page Flip Image Gallery.
реферат [4,1 M], добавлен 12.07.2012Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
дипломная работа [1,1 M], добавлен 21.09.2016Рассмотрение принципов поисковой системы и процедуры проведения поиска по запросам пользователей "Яндекса". Изучение структуры запросов, вспомогательных программ поиска, модулей и этапов их преобразования. Описание дополнительной информации в сниппете.
реферат [135,6 K], добавлен 27.12.2014Обеспечение высокой релевантности поиска с помощью поисковой системы Google. Быстрота и надежность работы, большее количество ссылок в русскоязычном секторе Интернета. Службы, отсутствующие у других поисковых систем. Google как законодатель моды.
презентация [1,5 M], добавлен 10.03.2015Характеристика рефакторинга как процесса изменения структуры программы. Предпосылки его проведения, основополагающие принципы. Признаки "плохого" кода. Применение кодирования и управления исходным кодом в качестве приема "Экстремального программирования".
контрольная работа [26,2 K], добавлен 29.05.2014Характеристика и назначение справочной правовой системы "Гарант", ее применение в современных организациях. Принципы действия и оценка возможностей базового поиска системы, работа со списками документов. Основные преимущества правовой поддержки онлайн.
реферат [2,5 M], добавлен 21.04.2010Организация хранения данных. Система управления базами данных. Поиск информации, обзор существующих поисковых систем. Особенности работы поискового движка. Использование индексов в поисковых системах. Особенности поиска различных видов информации.
курсовая работа [4,6 M], добавлен 14.05.2014Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.
курсовая работа [949,0 K], добавлен 18.07.2014Понятие и принципы работы, внутренняя структура и элементы, история формирования и развития поисковой системы "Rambler". Исследование и анализ, а также оценка эффективности данной поисковой системы для поиска экономической информации в интернете.
курсовая работа [4,0 M], добавлен 10.05.2015Теоретические сведения об алгоритмах поиска подстроки в строке. Глобализация информации в сети Internet. Интеллектуальный поиск. Алгоритм последовательного (прямого) поиска, Рабина и их применение. Анализ алгоритмов. Реализация программного кода.
курсовая работа [230,8 K], добавлен 12.02.2009Раскрытие понятия "системы компьютерной математики", история ее развития. Внутренняя архитектура и составляющие СКМ. Основные принципы работы системы Maple. Ее возможности для решения линейных и нелинейных уравнений и неравенств. Применение функции solve.
курсовая работа [189,4 K], добавлен 16.09.2017Простота поиска информации в системе "Google.ru", его технологии и функции. История термина и его применение. Выбор условий поиска, автоматическое исключение общих слов. Калькулятор и конвертирование валют. Похожие страницы и проверка правописания.
реферат [19,2 K], добавлен 21.02.2011Обзор существующих систем атоматизированного поиска. Мир электронных денег. Разработка структуры системы автоматизированного поиска отделений и терминалов банков. Обоснование выбора технологии разработки, программной среды и языка программирования.
курсовая работа [1,2 M], добавлен 17.01.2011Главные свойства СПС и основные характеристики работы компании-производителя. История создания компании "КонсультантПлюс". Основные поисковые задачи, решаемые с помощью этой системы. Преимущества СПС "КонсультантПлюс" над другими аналогичными системами.
презентация [3,1 M], добавлен 08.06.2010