ClassIds: Array;
Свойство ClassIds определяет массив, содержащий идентификаторы классов индексируемых объектов репозитория.
В качестве значения свойства необходимо указать целочисленный массив. Каждый элемент массива содержит одно из доступных значений перечисления MetabaseObjectClass.
Важно. В связи с имеющимися особенностями реализации языка Fore и использованием мнопоточного режима при индексации, индексация с использованием кода на Fore не поддерживается. Осуществляйте разработку на языке Fore.NET.
Для выполнения примера предполагается наличие в репозитории настроек для индексации и поиска на русском языке.
Imports Prognoz.Platform.Interop.BISearch;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.KeFore;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
SharedParams: ISharedParams;
SearchEngine: ISolrSearchEngineService;
Schema: ISolrSearchEngineSchema;
ImportExecutor: IImportExecutor;
ImportContext: IMbObjectsImportContext;
SolrContext: ISolrImportContext;
Locales: Array = New Integer[1] = [LocaleCodeID.lcidRussian As Integer];
ObjectClasses: Array Of UInteger;
Begin
MB := Params.Metabase;
//Параметры поиска и индексации, заданные для репозитория
SharedParams := MB.SpecialObject[MetabaseSpecialObject.msoSharedParams].Bind() As ISharedParams;
SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
Schema := SearchEngine.SearchEngineSchema As ISolrSearchEngineSchema;
//Параметры индексации
ImportExecutor := Schema.ImportExecutor[SearchEngineTargetType.settMbObject];
ImportContext := ImportExecutor.CreateContext() As IMbObjectsImportContext;
SolrContext := ImportContext As ISolrImportContext;
SolrContext.CleanType := SolrImportCleanType.sictNone;
SolrContext.Locales := Locales;
//Индексируемые объекты
ObjectClasses := New UInteger[2];
ObjectClasses[0] := MetabaseObjectClass.KE_CLASS_STDCUBE;
ObjectClasses[1] := MetabaseObjectClass.KE_CLASS_STDDIM;
ImportContext.ClassIds := ObjectClasses;
//Индексация
ImportExecutor.Import(ImportContext);
End Sub;
При выполнении примера будет создан контекст, необходимый для индексации метаданных объектов репозитория. В настройках контекста будет указан язык, на котором осуществляется индексация, и классы индексируемых объектов: стандартные кубы и табличные справочники. После указания всех настроек будет произведена индексация метаданных объектов.
См. также: