Научная статья на тему 'РАЗРАБОТКА ПОДСИСТЕМЫ ПОЛНОТЕКСТОВОЙ ИНДЕКСАЦИИ И ПОЛНОТЕКСТОВОГО ПОИСКА ДЛЯ ПЛАТФОРМЫ ОБЛАЧНОГО КОНТЕНТ-РЕПОЗИТОРИЯ'

РАЗРАБОТКА ПОДСИСТЕМЫ ПОЛНОТЕКСТОВОЙ ИНДЕКСАЦИИ И ПОЛНОТЕКСТОВОГО ПОИСКА ДЛЯ ПЛАТФОРМЫ ОБЛАЧНОГО КОНТЕНТ-РЕПОЗИТОРИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
95
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЛАЧНЫЙ КОНТЕНТ-РЕПОЗИТОРИЙ / ОБЛАЧНОЕ ХРАНИЛИЩЕ / ПОЛНОТЕКСТОВАЯ ИНДЕКСАЦИЯ / ПОЛНОТЕКСТОВЫЙ ПОИСК / ПОИСКОВАЯ СИСТЕМА / БОЛЬШИЕ ДАННЫЕ / BIGDATA / NOSQL / HADOOP / HDFS / HBASE / LILY / SOLR / C2R / C2R ARCHIVARIUS / COMPOSITE / EFFECTIVE PERFORMANCE / ELASTIC MODULUS / POISSON''S RATIO

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Симакина Н.И., Шипулина К.В., Костарев А.А., Окунев А.Ф.

Спроектирована и разработана подсистема полнотекстовой индексации и полнотекстового поиска для платформы облачного контент-репозитория. Разобрана структура и интерфейс контент-репозитория C2R (Lily, Solr, HDFS Apache Hadoop), NoSQL базы данных HBase, описаны функции и возможности Apache Solr. Разработан Генератор схемы индексов, и интерфейсы простого и расширенного поиска для платформы C2R Archivarius посредством HTML, CSS и PHP.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Симакина Н.И., Шипулина К.В., Костарев А.А., Окунев А.Ф.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A SUBSYSTEM, CONSISTING OF FULL-TEXT INDEXING AND FULL-TEXT SEARCHING, FOR THE PLATFORM OF THE CLOUD CONTENT REPOSITORY

The subsystem of full-text indexation and full-text search is projected and worked out for the platform of cloudy content, a structure and interface of content C2R (Lily, Solr, HDFS Apache Hadoop) are taken apart, NoSQL of database of HBase, functions and possibilities of Apache Solr, are described Generator of chart of indexes, and interfaces of simple and extended search, is worked out for the platform of C2R Archivarius by means of HTML, CSS and PHP.

Текст научной работы на тему «РАЗРАБОТКА ПОДСИСТЕМЫ ПОЛНОТЕКСТОВОЙ ИНДЕКСАЦИИ И ПОЛНОТЕКСТОВОГО ПОИСКА ДЛЯ ПЛАТФОРМЫ ОБЛАЧНОГО КОНТЕНТ-РЕПОЗИТОРИЯ»

2014

ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА

Математика. Механика. Информатика

Вып. 4(27)

УДК 519.6

Разработка подсистемы полнотекстовой индексации и полнотекстового поиска для платформы облачного контент-репозитория

Н. И. Симакина, К. В. Шипулина

Пермский государственный гуманитарно-педагогический университет Россия, 614990, Пермь, ул. Пушкина, 42 Nsimakina@yandex.ru; 8950 459 83 93 1

А. А. Костарев, А. Ф. Окунев

Пермский государственный национальный исследовательский университет Россия, 614990, Пермь, ул. Букирева, 15

Спроектирована и разработана подсистема полнотекстовой индексации и полнотекстового поиска для платформы облачного контент-репозитория. Разобрана структура и интерфейс контент-репозитория C2R (Lily, Solr, HDFS Apache Hadoop), NoSQL базы данных HBase, описаны функции и возможности Apache Solr. Разработан Генератор схемы индексов, и интерфейсы простого и расширенного поиска для платформы C2R Archivarás посредством HTML, CSS и PHP.

Ключевые слова: облачный контент-репозиторий; облачное хранилище; полнотекстовая индексация; полнотекстовый поиск; поисковая система; большие данные; bigdata; NoSQL; Hadoop; HDFS; HBase; Lily; Solr; C2R; C2R Archivarius.

Введение

В настоящее время доля информации, окружающей нас, очень велика также, как и личностная мобильность. В связи с этим возрастает популярность облачных хранилищ как средств быстрого и легкого доступа к необходимым файлам. Полагаем, что для большего удобства необходимо создание и внедрение в платформу облачного хранилища системы автоматической индексации и многофункционального поиска для ускорения поиска необходимого файла или группы файлов на определенную тематику и по указанным параметрам.

На наш взгляд, в существующих в данный момент облачных хранилищах недостаточно качественно и полно реализованы полнотекстовая индексация и полнотекстовый поиск, что усложняет поиск необходимого файла. Про-ведение поиска возможно только

© Симакина Н. И., Шипулина К. В., Костарев А. Ф., Окунев А. А., 2014

по заголовку или названию файла, в то время, как содержимое файла не индексируется, следовательно, невозможно совершить полнотекстовый поиск. Разрабатываемая подсистема решает данную проблему в пределах конкретного облачного контент-репозитория. Полученная разработка позволит определить истинную необходимость и важность данного метода поиска необходимых файлов.

Отметим, что полнотекстовые поисковые системы индексируют все слова на Web-странице (иногда за исключением стоп-слов) и учитывают порядок их расположения. В отличие от них, абстрактные поисковые системы по определенному алгоритму создают некий экстракт проиндексированной страницы [1-2].

Наиболее крупными поисковыми системами (или сервисами), используемыми в России, в настоящее время являются:

- Google Search (Google Inc.);

- Bing (Microsoft);

- Поиск@Май.ги (Mail.Ru Group);

Разработка подсистемы полнотекстовой индексации и полнотекстового поиска.

- Яндекс.Поиск (Яндекс);

- Rambler (Rambler);

- Yahoo! (Apple Inc.).

В конце мая 2014 г. был запущен еще один российский поисковый сервис "Спутник" - это государственная безрекламная поисковая система, имеющая широкий функционал.

В ходе проведенного исследования были проанализированы все указанные выше системы, облачные хранилища, смежные с данными системами, их интерфейсы и функционал простого и расширенного поиска.

В результате был сделан вывод о неразвитости ниши поисковых систем облачных хранилищ, и поэтому сравнительный анализ функционала разрабатываемой системы проводился с функционалом расширенного поиска поисковых систем. Для данного анализа был выделен 41 критерий для сравнения. В результате исследования лидирующее место заняла платформа Apache Solr, набрав 33 пункта, второе место - Яндекс. Поиск с 24 пунктами и третье место - Google Search с 23 пунктами. Лидерство Apache Solr подтверждает необходимость разработки и внедрения данной подсистемы на платформу облачного хранилища контент-репозитория C2R.

Solr обладает более широким функционалом, чем существующие поисковые системы, что значительно влияет на качество поиска и обработку результатов поиска и, как следствие, степень удовлетворения потребностей пользователя [3].

Разработка подсистемы полнотекстовой индексации и полнотекстового поиска для платформы облачного контент-репозитория C2R

Контент-репозиторий C2R имеет следующую структуру:

• нереляционная база данных HBase, используемая для хранения контента;

• облачный масштабируемый контент-репозиторий Lily;

• распределенная файловая система HDFS;

• поисковая платформа Apache Solr.

Разрабатываемая подсистема строится на основе платформы Solr. Это расширяемая поисковая платформа от Apache. Особенности её в

том, что она представляет собой не просто техническое решение для поиска, а именно платформу, поведение которой можно легко расширять, менять, настраивать под любые нужды - от обычного полнотекстового поиска на сайте до распределённой системы хранения, получения, аналитики текстовых и других данных с мощным языком запросов [4-6].

е

MD ЦНН1 я

III* \ 1J

РйгЧО»'< Ьй-Y

Рис. 1. Структура контент-репозитория Lily

и структурная схема взаимодействия

Разработка системы включает 4 этапа:

1) перевод официальных инструкций к программному средству, формирование описания по каждому парсеру запросов (обработчику запросов), отбор необходимых функций и их параметров;

2) конфигурирование Solr - настройка автоматической полнотекстовой индексации и настройка значений по умолчанию для некоторых параметров поисковой системы;

3) тестирование полностью настроенной поисковой платформы путем создания тестирующих (результирующих) файлов;

4) разработка интерфейсов простого и расширенного поиска для платформы C2R Archivarius, являющейся надстройкой над облачным контент-репозиторием C2R.

На первом этапе были отобраны 7 функций Solr:

1. Standard Query Parser - Стандартный обработчик запросов, который позволяет делать очень точные запросы, но при этом есть и недостаток - он не терпит синтаксических ошибок;

2. DisMax Query Parser - обработчик запросов DisMax, предназначен для обработки простых фраз без сложного синтаксиса и поиска конкретных условий по нескольким полям с помощью различных уточнений, основанных на значении каждого поля;

3. eDisMax Query Parser - улучшенная версия парсера запросов DisMax, помимо функций DisMax имеет такие функции, как поддержка полного синтаксиса парсера запросов Lucene, поддержка операторов AND, OR, NOT, "+" и "-", усовершенствованная обработка стоп-слов и многие другие;

4. Highlighting - функция подсветки результатов, позволяет выделять фрагменты документов, которые соответствуют запросу пользователя и включены в ответ на запрос;

5. Faceting - фасетирование - расположение результатов поиска в категории на основе индексируемых условий;

6. Spell Checking - функция проверки правописания;

7. Spatial Search - пространственный поиск.

Второй этап - конфигурирование. HBase не решает всех задач, необходимых для функционирования репозитория, и эту проблему решает репозиторий Lily. Репозиторий Lily создает индекс и привязывает его к ядру Solr [7]. Эту задачу решает один из компонентов Lily - Indexator. Indexator - это компонент, ответственный за то, что усовершенствовал индекс Solr. Индексатор берет записи репози-тория Lily и помещает их в Solr. Индексатор делает это в ответ на асинхронно обрабатываемые события, созданные репозиторием.

Для большего удобства добавления нового индекса в индексатор средствами языка программирования Java был разработан генератор схемы индекса Index Schema Generator.

Создание индекса состоит из пяти простых шагов. После добавления индекса Генератор создает файл схемы индекса indexerconf.xml, в котором каждому значению поля в Lily присвоено значение поля в Solr.

Таким образом, настраивается полнотекстовая индексация. Данные файла indexerconf.xml при дальнейшем конфигурировании становятся частью другого файла схемы - схемы самой поисковой платформы -schema.xml.

Второй файл конфигурирующий Solr -config.xml. В нем настраиваются общие параметры, а также значения по умолчанию для параметров каждой функции.

На третьем этапе проводится тестирование поисковой платформы через платформу сервера Solr.

Через интерфейс платформы был сформирован запрос на каждый параметр поисковой системы. Всего было сформировано 115 результирующих (тестирующих) файлов. Предполагается, что полученные файлы будут использоваться для тестирования новых серверов.

Рис. 2. Страница запроса платформы Solr на платформе C2R Archivarius

Завершающий этап работы - разработка интерфейсов.

Адрес надстройки Archivarius облачного контент-репозитория C2R -

http://archivarius.nevod.ru/. Archivarius построен средствами web-программирования: HTML, CSS, PHP. Для доступа к сервису необходимо пройти процедуру регистрации/авторизации.

ДТП ftrchlvjNuB —

Ûicvv id MUMllifehi.

---

Рис. 3. Страница регистрации/ авторизации репозитория C2R Archivarius

Интерфейс сервиса C2R АгЛ^апш состоит из шести вкладок, одна из которых "Поиск". Функционал данной вкладки основан на разрабатываемой подсистеме полнотекстовой индексации и полнотекстового поиска на основе поисковой платформы Solr. Простой поиск по контенту хранилища доступен на любой вкладке, так как вверху страницы расположено поле для ввода запроса.

Разработка подсистемы полнотекстовой индексации и полнотекстового поиска...

Кроме того, вкладки "Теги" и "Кластеры" также построены на основе Solr, но на других функциональных возможностях.

Welcome-страница поиска состоит из одного поля для введения запроса. По умолчанию поиск идет в поле q.alt парсера запросов eDisMax по параметру file_blob, при этом парсер DisMax также включен.

каждого условия, добавлять оператора поиска (AND, OR, NOT, + или -), искать в интервале дат, выбирать язык документа.

_

Рис. 6. Интерфейс Расширенного поиска надстройки C2R Archivarius

Рис. 4. Ше1соте-странща Поиска в репози-тории "C2R Аг^папш"

Сформируем запрос на поиск файлов, содержащих условие "bigdata", и выполним поиск.

Результаты поискового запроса выводятся в виде дерева директории. Вторым уровнем директории является пользователь, добавивший этот файл. С третьего уровня идут папки и файлы. При наведении курсора на файл появляется его описание, содержащее информацию о добавившем пользователе, размере файла, ключевых словах, заголовке файла, авторе и дате добавления.

Рис. 5. Результаты запроса "bigdata" на странице Поиска в надстройке "C2R Archivarius" с описанием одного файла

При нажатии на имя файла он либо загружается (скачивается), если это текстовый, табличный или подобный формат, либо открывается страница в новой вкладке, если это html, либо открывается изображение также в новой вкладке.

Помимо этого, был разработан интерфейс расширенного поиска, позволяющий добавлять условия поиска, выбирать поле, в котором будет производиться поиск, выставлять приоритет для

Заключение

В процессе выполнения работы полностью спроектирована и разработана подсистема полнотекстовой индексации и полнотекстового поиска для платформы облачного контент-репозитория, разобрана структура и интерфейс контент-репозитория C2R (Lily, Solr, HDFS Apache Hadoop), NoSQL базы данных HBase, описаны функции и возможности Apache Solr посредством перевода в объеме 34 тыс. слов и изучения инструкций к указанному программному обеспечению с официального сайта, разработан Генератор схемы индексов, проведено тестирование настроенной для C2R поисковой платформы Solr путем создания 115 результирующих файлов и разработаны интерфейсы простого и расширенного поиска для платформы C2R Archivarius посредством HTML, CSS и PHP.

Данный проект с 20.06.2014 г. находится в стадии пилотной эксплуатации на полигоне ЗАО "Информационно-вычислительные системы".

Дальнейшие планы по развитию проекта включают в себя доработку интерфейсов для функций DisMax, eDisMax и Spatial Search на понятный пользователю язык, разработку кластеризации, разработку алгоритмов и систем на основе искусственного интеллекта, предназначенных для анализа запросов, файлов и действий пользователя на сервисе, что позволит использовать эти данные в качестве сырьевого материала бизнеса, жизненно важного сырьевого вклада, используемого для создания новой экономической выгоды. При правильном подходе эти данные можно использовать повторно как источник инноваций и новых услуг.

Технология "больших данных", используемая в данном проекте, - это грядущее революционное явление, равнозначное Интернету, это новая наука, способная предсказывать будущее на основе быстрой обработки огромных массивов информации и мгновенного их анализа. Технология не ограничивает фантазию разработчиков и позволяет с помощью растущей вычислительной мощности совершать невиданные прежде открытия и прогнозы.

Кроме того, это легкодоступное облачное хранилище с функцией полнотекстовой индексации и полнотекстового поиска. Ни одно из популярных облачных контент-репозиториев не обладает настолько широким функционалом.

Список литературы

1. Майер-Шенбергер В., Кеннет Кукьер. Большие данные. Революция, которая изменит то, как мы живем, работаем и мыслим / пер. с англ. Инны Гайдюк. М.: Манн, Иванов и Фербер, 2014. 240 с.

2. Фаулер М. NoSQL: новая методология разработки нереляционных баз данных / пер. с англ. М.: ООО "И.Д. Вильямс", 2013.192 с.

3. Описание поисковой платформы Solr. URL: http://lucene.apache.org/solr/ (дата обращения: 16.06.14).

4. Справочное руководство Apache Solr. URL: https://cwiki. apache. org/confluence/ display/solr/Apache+Solr+Reference+Guide (дата обращения: 18.06.14).

5. Индексация и основные операции с данными. URL:

https://cwiki. apache. org/confluence/display /solr/Indexing+and+Basic+Data+Operations (дата обращения: 16.06.14).

6. Поиск. URL:

https://cwiki. apache. org/confluence/display/ solr/Searching (дата обращения: 21.06.14).

7. Описание функционала платформы Lily. URL: http://docs.ngdata.com/lily-docs-current/ext/toc/ (дата обращения: 16.06.14).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Key words: composite; effective performance; elastic modulus; Poisson's ratio.

Development of a subsystem, consisting of full-text indexing and full-text searching, for the platform of the cloud content repository

N. I. Simakina, K. V. Shipulina

Perm State University of Humanities and Education, Russia, 614000, Perm, Pushkina st., 42 Nsimakina@yandex.ru; 8950 459 83 93

A. F. Kostarev, A. A. Okunev

Perm State University, Russia, 614990, Perm, Bukireva st, 15

The subsystem of full-text indexation and full-text search is projected and worked out for the platform of cloudy content, a structure and interface of content C2R (Lily, Solr, HDFS Apache Ha-doop) are taken apart, NoSQL of database of HBase, functions and possibilities of Apache Solr, are described Generator of chart of indexes, and interfaces of simple and extended search, is worked out for the platform of C2R Archivarius by means of HTML, CSS and PHP.

i Надоели баннеры? Вы всегда можете отключить рекламу.