Добрый день. Развернули в 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 с таким же ключем, подскажите где и как это сделать?
Нравится
Добрый день!
Судя по описанной проблеме, возможно, Вы пропустили использование параметра "DELETE/sites/{siteName}/search". Ниже я опишу пошаговую последовательность передобавления сайта и шаблона через Swagger.
Порядок настройки
-
Зайти по адресу: [адрес_сервера_ГП]:81/api/index.html
-
Выбрать параметр "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".