Добрый день, выполнял настройку elasticsearch по инструкции, linux+docker. Версия Creatio 7.17.1.1364 (.NET Core 3.1.15). Компоненты на машинах запустились без ошибок, дошел до момента когда нужно выполнить sql скрипт. Для этого в Creatio добавил плагин SQL консоли, он там 1. Вот первый скрипт который запускаю:
БД Postgres
DO $$ DECLARE GlobalSearchFeature VARCHAR(50) := 'GlobalSearch'; GlobalSearchFeatureId uuid; GlobalSearchV2Feature VARCHAR(50) := 'GlobalSearch_V2'; GlobalSearchV2FeatureId uuid; GS_RelatedEntityIndexingFeature VARCHAR(50) := 'GlobalSearchRelatedEntityIndexing'; GS_RelatedEntityIndexingFeatureId uuid; allEmployeesId uuid := 'A29A3BA5-4B0D-DE11-9A51-005056C00008'; BEGIN SELECT "Id" INTO GlobalSearchFeatureId FROM "Feature" WHERE "Code" = GlobalSearchFeature LIMIT 1; IF (GlobalSearchFeatureId IS NOT NULL) THEN IF EXISTS (SELECT * FROM "AdminUnitFeatureState" WHERE "FeatureId" = GlobalSearchFeatureId) THEN UPDATE "AdminUnitFeatureState" SET "FeatureState" = 1 WHERE "FeatureId" = GlobalSearchFeatureId; ELSE INSERT INTO "AdminUnitFeatureState" ("SysAdminUnitId", "FeatureState", "FeatureId") VALUES (allEmployeesId, '1', GlobalSearchFeatureId); END IF; ELSE GlobalSearchFeatureId := uuid_generate_v4(); INSERT INTO "Feature" ("Id", "Name", "Code") VALUES (GlobalSearchFeatureId, GlobalSearchFeature, GlobalSearchFeature); INSERT INTO "AdminUnitFeatureState" ("SysAdminUnitId", "FeatureState", "FeatureId") VALUES (allEmployeesId, '1', GlobalSearchFeatureId); END IF; SELECT "Id" INTO GlobalSearchV2FeatureId FROM "Feature" WHERE "Code" = GlobalSearchV2Feature LIMIT 1; IF (GlobalSearchV2FeatureId IS NOT NULL) THEN IF EXISTS (SELECT * FROM "AdminUnitFeatureState" WHERE "FeatureId" = GlobalSearchV2FeatureId) THEN UPDATE "AdminUnitFeatureState" SET "FeatureState" = 1 WHERE "FeatureId" = GlobalSearchV2FeatureId; ELSE INSERT INTO "AdminUnitFeatureState" ("SysAdminUnitId", "FeatureState", "FeatureId") VALUES (allEmployeesId, '1', GlobalSearchV2FeatureId); END IF; ELSE GlobalSearchV2FeatureId := uuid_generate_v4(); INSERT INTO "Feature" ("Id", "Name", "Code") VALUES (GlobalSearchV2FeatureId, GlobalSearchV2Feature, GlobalSearchV2Feature); INSERT INTO "AdminUnitFeatureState" ("SysAdminUnitId", "FeatureState", "FeatureId") VALUES (allEmployeesId, '1', GlobalSearchV2FeatureId); END IF; SELECT "Id" INTO GS_RelatedEntityIndexingFeatureId FROM "Feature" WHERE "Code" =GS_RelatedEntityIndexingFeature LIMIT 1; IF (GS_RelatedEntityIndexingFeatureId IS NOT NULL) THEN IF EXISTS (SELECT * FROM "AdminUnitFeatureState" WHERE "FeatureId" = Bulk_ES_DD_FeatureId) THEN UPDATE "AdminUnitFeatureState" SET "FeatureState" = 1 WHERE "FeatureId" = GS_RelatedEntityIndexingFeatureId; ELSE INSERT INTO "AdminUnitFeatureState" ("SysAdminUnitId", "FeatureState","FeatureId") VALUES (allEmployeesId, '1', GS_RelatedEntityIndexingFeatureId); END IF; ELSE GS_RelatedEntityIndexingFeatureId := uuid_generate_v4(); INSERT INTO "Feature" ("Id", "Name", "Code") VALUES (GS_RelatedEntityIndexingFeatureId, GS_RelatedEntityIndexingFeature, GS_RelatedEntityIndexingFeature); INSERT INTO "AdminUnitFeatureState" ("SysAdminUnitId", "FeatureState","FeatureId") VALUES (allEmployeesId, '1', GS_RelatedEntityIndexingFeatureId); END IF; END $$;
Этот скрипт падает с ошибкой(но таймер у скрипта все таки стартует)
Вот второй скрипт:
Данные нужные подставил
UPDATE "SysSettingsValue" SET "TextValue" = [укажите URL к индексу ElasticSearch, строка следующего типа: http://external.elasticsearch:9200/indexname] WHERE "SysSettingsId" = (SELECT "Id" FROM "SysSettings" WHERE "Code" = 'GlobalSearchUrl' LIMIT 1 ); UPDATE "SysSettingsValue" SET "TextValue" = [укажите URL к Global Search Service, строка следующего типа: http://SERVER2_IP_ADDRESS:81] WHERE "SysSettingsId" = (SELECT "Id" FROM "SysSettings" WHERE "Code" = 'GlobalSearchConfigServiceUrl' LIMIT 1 ); UPDATE "SysSettingsValue" SET "TextValue" = [укажите URL к Global Search Indexing Service, строка, сл. типа - http://SERVER2_IP_ADDRESS:82] WHERE "SysSettingsId" = (SELECT "Id" FROM "SysSettings" WHERE "Code" = 'GlobalSearchIndexingApiUrl' LIMIT 1 );
Окей, раз скрипты не работают я пошел на:
/Nui/ViewModule.aspx#BaseSchemaModuleV2/FeaturesPage Без /0/ потому что Linux. Там нашел один единственный тумблер с надписью GlobalSearch, вот его и включил и сохранил, все ок. Вопрос в следующем, как мне убедится что Глобальный поиск работает? И нужны ли все таки выполненные эти скрипты? Если скрипты нужно выполнять, то где? в Postgres(на Linux)? или как это работает?
Нравится
Здравствуйте, скрипты необходимо запускать для корректного включения функциональности. Подскажите, какие ошибки возникают при выполнении скриптов?
Скрипты необходимо выполнять на базе данных приложения Creatio.
После выполнения скриптов нужно перезапустить сайт с очисткой Redis.
Далее создать тестовую запись и через минуту попробовать поискать её в глобальном поиске.
Алёна Доля, здравствуйте, встретился с ошибкой с ссылкой на отсутствие переменных в psql, GlobalSearchUrl, GlobalSearchConfigServiceURL, GlobalSearchIndexingApiUrl
если есть пример того как должно выглядеть буду благодарен
Алёна Доля,
ещё вопрос не по теме БД, на сервере с компонентами elasticsearch заметил что не дописал порт в команду curl, вопрос, как теперь удалить старую запись? Потому что сейчас не дает записать ничего из-за того что ранее уже записывал
Евгений Шевченко,
Для более быстрой настройки можете заполнить настройки GobalSearchUrl, GlobalSearchConfigServiceURL, GlobalSearchIndexingApiUrl через интерфейс в разделе "Системные настройки". Необходимые записи фильтруйте в разделе по коду.
ОШИБКА: "globalsearchfeatureid" - не известная переменная
СТРОКА 14: SELECT "Id" INTO GlobalSearchFeatureId FROM "Feature"
не подскажете в чем причина?
Добрый день!
Проблема заключалась в функционале страницы https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/razvertyvanie_onsite/nastrojka_kontejnernyh_komponentov/nastroit_globalnyy_poisk
В ближайшее время мы исправим этот функционал в статье.
Воспроизводится проблема в результате использования кнопки Копировать код (скриншот во вложении).
Если копировать сам текст запроса, ошибка перестанет воспроизводиться.
Андрей,
Добрый день! Проблема зарегистрирована для исправления в будущих версиях Creatio.