IMbObjectsImportContext.Keys

Синтаксис Fore.NET

Keys: Array;

Описание

Свойство Keys определяет массив ключей индексируемых объектов репозитория.

Пример Fore

Важно. В связи с имеющимися особенностями реализации языка Fore и использованием мнопоточного режима при индексации, индексация с использованием кода на Fore не поддерживается. Осуществляйте разработку на языке Fore.NET.

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории объектов с идентификаторами «REGIONS_DATA» и «CITY_DATA». В самом репозитории определены настройки для индексации и поиска на русском языке.

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];
    ObjectKeys: 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;
    //Индексируемые объекты
    ObjectKeys := New UInteger[2];
    ObjectKeys[0] := MB.GetObjectKeyById("REGIONS_DATA");
    ObjectKeys[1] := MB.GetObjectKeyById("CITY_DATA");
    ImportContext.Keys := ObjectKeys;
    //Индексация
    ImportExecutor.Import(ImportContext);
End Sub;

При выполнении примера будет создан контекст, необходимый для индексации метаданных объектов репозитория. В настройках контекста будет указан язык, на котором осуществляется индексация, и будут заданы индексируемые объекты. После указания всех настроек будет произведена индексация метаданных объектов.

См. также:

IMbObjectsImportContext