Установка сервиса глобального поиска
Для установки компонентов Global Search Service необходимо:
1.Установить Java.
2.Скачать файлы установки.
3.Установить RabbitMQ.
4.Установить ElasticSearch.
5.Настроить bat-файлы.
6.Настроить конфигурационные файлы.
7.Установить и запустить компоненты Global Search Service.
8.Выполнить первичное наполнение БД.
Содержание
•Предварительные настройки конфигурационных файлов
•Установка и запуск компонентов Global Search Service
Среда Java JRE должна быть развернута на сервере с установленным ElasticSearch. Для установки или обновления Java воспользуйтесь инструкциями по ссылке.
Архив с файлами, необходимыми для установки Global Search Service, можно скачать по ссылке.
Для работы сервиса также требуется установка RabbitMQ и ElasticSearch.
Для установки или обновления RabbitMQ воспользуйтесь инструкциями по ссылке.
Для установки ElasticSearch:
1.Скачайте архив ElasticSearch по ссылке и распакуйте его.
2.Выполните команду bin/elasticsearch.
3.В утилите curl выполните команду:
curl http://localhost:9200/
4.В файле ConnectionStrings.config приложения отредактируйте или добавьте строку с логином и паролем ElasticSearch, например:
<add name="elasticsearchCredentials" connectionString="User=gs-es; Password=DEQpJMfKqUVTWg9wYVgi;" />
5.После установки ElasticSearch установите плагин для поиска по морфологии. Для этого скачайте актуальную версию плагина Morphological Analysis Plugin for ElasticSearch по ссылке. Для установки плагина выполните команду в директории elasticsearch:
bin/elasticsearch-plugin install URL
где URL — это URL плагина из таблицы совместимости версий. Например, для версии 5.3.0 выполните:
bin/elasticsearch-plugin install http://dl.bintray.com/content/imotov/elasticsearch-plugins/org/elasticsearch/elasticsearch-analysis-morphology/5.3.0/elasticsearch-analysis-morphology-5.3.0.zip
Для настройки компонента Scheduler необходимо в файле install.bat указать значения для следующих параметров:
•displayname — имя Windows-сервиса. Рекомендуется использовать “Global Search Servicecheduler”.
•path — абсолютный путь к файлу GlobalSearch.WindowsService.exe.
Для настройки компонента Worker необходимо в файле install.bat указать значения для следующих параметров:
•displayname — имя windows-службы. Поскольку предполагается возможность запуска нескольких экземпляров компонента Worker, то рекомендуется использовать следующую маску для имен “GSWorker00”. Таким образом, отображаемое имя первого экземпляра будет “GSWorker01”.
•path — абсолютный путь к файлу GlobalSearch.Worker.WindowsService.exe.
Каталог для распаковки Web-сервиса может быть любым.
Предварительные настройки конфигурационных файлов
После выполнения пакетных *.bat-файлов и распаковки сервиса, перед его запуском необходимо внести дополнительные настройки в конфигурационные файлы.
Для настройки RabbitMQ необходимо в конфигурационном файле %APPDATA%\RabbitMQ\rabbitmq.config добавить
[
{rabbit, [{tcp_listeners, [5673]}, {heartbeat, 0}]}
]
На заметку
После внесения правок в конфигурационный файл нужно остановить сервис, удалить его, а затем установить и запустить его заново. Для этого предназначены команды stop, remove, install, start, которые подробно описаны в документации по ссылке.
В файлах ConnectionStrings.config компонентов Service, Scheduler и Worker необходимо установить значения для следующих настроек:
•ConnectionDb — абсолютный путь к базе данных.
•RabbitMq — строка подключения к RabbitMQ.
В файле Web.config компонента Service установите значения для следующих настроек:
•ApiKey — ключ авторизации внутри сети.
•DbName — название БД.
•DbServerName — название сервера БД.
•ElasticSearchUrl — URL к серверу ElasticSearch.
•ConfigFolder — путь к открытому для доступа извне каталогу для sql-файлов.
•Необходимо закомментировать строку DbDialectProvider, указывающую SqlServer, и раскомментировать строку, указывающую SQLite.
В файле GlobalSearch.Worker.WindowsService.exe.config компонента Worker установите значения для следующих настроек:
•RabbitQueueName — название очереди, из которой Worker берет задания для индексации.
•ReplyRabbitQueueName — название очереди, в которую Worker помещает сообщение о выполнении.
•ExchangeName — название коммутатора для очереди заданий.
•ReplyExchangeName — название коммутатора для очереди сообщений о выполнении.
•DBBatchSize — объeм данных, выбираемых компонентом Worker для одной транзакции из БД в ElasticSearch. Значение не должно превышать 8000.
•IncrementDays — количество дней, которые будут учитываться при выборке данных, начиная со времени последней индексации.
•DBConnectionConfigPattern — шаблон строки подключения к БД клиента. Необходимо указать логин и пароль пользователя:
•Для MSSQL:
Data Source={0};Initial Catalog={1};User Id=user;Password=password;
•Для Oracle:
Data Source=(DElasticSearchCRIPTION = (ADDRElasticSearchS_LIST =
(ADDRElasticSearchS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = BPMBUILD) (SERVER = DEDICATED)));User
Id=user;Password=password
•DbDialectProvider — провайдер подключения к базе данных.
•Для MSSQL должен быть указан ServiceStack.OrmLite.SqlServerDialect (достаточно снять комментарий с соответствующей строки).
•Для Oracle должен быть указан ServiceStack.OrmLite.Oracle.OracleDialect (достаточно снять комментарий с соответствующей строки).
На заметку
Для работы сервиса глобального поиска с Oracle необходимо установить Oracle Instant Client.
Для настройки компонента Scheduler в файле GlobalSearch.WindowsService.exe.config установите значения для следующих настроек:
•FillQueueInterval — интервал наполнения очереди заданий в миллисекундах. По умолчанию установлено значение, соответствующее 1 минуте. Рекомендуется не устанавливать значение менее 20 секунд.
•DataCenterName — имя датацентра, в котором работает сервис (по умолчанию необходимо указать OnSiteDataCenter).
•DBServerNameTemplate — шаблон названия сервера БД ({0}-sql01).
•RabbitQueueName — название очереди, в которую Scheduler помещает задания для индексации.
•ReplyRabbitQueueName — название очереди, из которой Scheduler берет сообщение о выполнении.
•ExchangeName — название коммутатора для очереди заданий.
•ReplyExchangeName — название коммутатора для очереди сообщений о выполнении.
Также необходимо закомментировать строку “DbDialectProvider - SqlServerDialect” и раскомментировать строку “DbDialectProvider - SqliteDialect”.
Установка и запуск компонентов Global Search Service
Прежде чем выполнять установку компонентов Global Search Service, необходимо скачать и распаковать в любое удобное место архив с установочными файлами, который доступен по ссылке. Архив содержит три каталога, в которых помещены файлы компонентов:
•GlobalSearch.WebApp — содержит компонент Service.
•GlobalSearch.WindowsService — содержит компонент Scheduler.
•GlobalSearch.Worker.WindowsService — содержит компонент Worker.
На заметку
Установку компонентов следует выполнять только после предварительной настройки *.bat-файлов для компонентов Worker и Scheduler. Как выполнить настройку *.bat-файлов читайте на шаге “Настройки *.bat-файлов”.
Чтобы установить компоненты Worker и Scheduler, необходимо выполнить предварительно настроенные *.bat-файлы. Компоненты будут установлены как службы.
На заметку
Чтобы в случае возникновения ошибки службы не останавливались, настройте их автоматический перезапуск.
Для установки компонента Service создайте новое приложение в IIS, указав каталог GlobalSearch.WebApp. Затем запустите это приложение непосредственно из IIS.
База данных наполняется системными записями при первом запуске сервиса глобального поиска. До этого не существует даже файла базы данных, поскольку БД является автогенерируемой.
Смотрите далее