не работает глобальный поиск

Добрый день. Развернули в Docker сервис глобального поиска согласно инструкции https://academy.creatio.com/docs/8.x/setup-and-administration/on-site-deployment/containerized-components/global-search#title-254-33 

 

Подключили сайт 8010.salesup-it.com - работает.

При попытке настоить аналогичным способом сайт driveforce.salesup-it.com ошибка:

Изображение удалено.

сайт зарегестрирован в elasticsearch 

Изображение удалено.

но проверка статуса выдает ошибку

Изображение удалено.

 

В процессе настройки сайт driveforce.salesup-it.com регистрировался (команды curl -v -X POST -d '{"databaseType": "[DATABASE_TYPE]", "databaseConnectionString": "[DATABASE_CONNECTION_STRING]"}' -H "Content-Type: application/json"  http://10.10.20.26:81/sites/driveforce.salesup-it.com и curl -v -X POST -d '{"templateName": "default.json"}' -H "Content-Type: application/json" http://10.10.20.26:81/sites/driveforce.salesup-it.com/search) в elasticsearch, удалялся (команда curl -v -X DELETE http://10.10.20.26:81/sites/driveforce.salesup-it.com) и снова добавлялся. Судя по ошибке я понял, что остался след от предыдущей регистрации и надо удалить item с таким же ключем, подскажите где и как это сделать?

Нравится

3 комментария

Добрый день!

 

Судя по описанной проблеме, возможно, Вы пропустили использование параметра "DELETE​/sites​/{siteName}​/search". Ниже я опишу пошаговую последовательность передобавления сайта и шаблона через Swagger.  

 

Порядок настройки

  1. Зайти по адресу: [адрес_сервера_ГП]:81/api/index.html

  2. Выбрать параметр "DELETE​/sites​/{siteName}​/search"

 

- Нажать "Try iy out".

- Необходимо ввести название сайта, которое указывали при добавлении, и удалить поиск.

3. Выбрать параметр "DELETE​/sites​/{siteName}"

 

 

- Нажать "Try iy out".

- Необходимо ввести название сайта, которое указывали при добавлении, и удалить сайт.

 

***

4. Создаем новый сайт. Для этого используем параметр "POST​/sites​/{siteName}"

- Нажимаем "Try iy out".

- Необходимо ввести название нового сайта (Это может быть любой текст).

- Необходимо в теле запроса указать тип СУБД и строку подключения к БД сайта.

 

5. Указываем для сайта шаблон. Для этого используем параметр "POST​/sites​/{siteName}".

- Нажать "Try iy out".

- Необходимо ввести название сайта, который создали на прошлом шаге.

- В теле запроса нужно удалить все параметры, кроме templateName (Пример добавления дефолтного шаблона, все шаблоны описаны в статье).

 

6. В системной настройке "GlobalSearchUrl" необходимо указать значение, которое вернет предыдущий запрос.

7. Перезапуск приложения и чистка редиса.

8. Чтобы запустить вручную переиндексацию, можно выполнить запрос в консоль браузера:

require(["ServiceHelper"], (ServiceHelper) => {    ServiceHelper.callService("IndexingConfigService", "SendIndexationConfigs");});

Zhmurko Sergii,

Добрый день, спасибо за ответ.

Увы, рекомендация не помогла. После удаления сайта "DELETE​/sites​/{siteName}​/search", "DELETE​/sites​/{siteName}​" и добавления заново ошибка прежняя.

Возможно надо удалять что-то в базе сайта? Попробовал переименовать сайт (изменил только bind, connection string остался прежним) и зарегистрировал под другим именем (было: driveforce, стало: drive-force) но все та же ошибка: 

Решено: Оказалоcь, что в базе сайта задублировались значения "GlobalSearchUrl", "GlobalSearchConfigServiceUrl" и "GlobalSearchIndexingApiUrl".

Запрос для PostgreSQL:

 

--посмотреть записи с кодом GlobalSearchUrl

SELECT *

FROM "SysSettingsValue"

WHERE "SysSettingsId" = (SELECT "Id" FROM "SysSettings" WHERE "Code" = 'GlobalSearchUrl' LIMIT 1);

 

--удалить строку используя id

DELETE FROM "SysSettingsValue"

WHERE "Id" = 'уникальный_Id_дублирующейся_строки';

 

повторить для "GlobalSearchConfigServiceUrl" и "GlobalSearchIndexingApiUrl" по аналогии с "GlobalSearchUrl".

Показать все комментарии