Destination: ICubeModelDestination;
Destination: Prognoz.Platform.Interop.Cubes.ICubeModelDestination;
The Destination property returns display option for which indexing settings are determined.
The property is returned by the display option which was sent to the ISourceDataImportDestinationInfos.Add method.
Executing the example requires that the repository contains a scheduled tasks container with the TASK_CONTAINER identifier. One problem refreshing search index is created in container. Problem is set up to refresh search index for several sources. Connect the BiSearch, Cubes, Fore, Metabase system assemblies.
Sub UserProc;
Var
MB: IMetabase;
Container: IScheduledTasksContainer;
Task: ISearchEngineImportScheduledTask;
EngineSchema: ISolrSearchEngineSchema;
ImportContext: ISourceDataImportContext;
SourceInfos: ISourceDataImportInfos;
SourceInfo: ISourceDataImportInfo;
DestinationInfos: ISourceDataImportDestinationInfos;
CubeDest: ICubeModelDestination;
i, j: Integer;
Begin
MB := MetabaseClass.Active;
//Get task
Container := MB.ItemById("TASK_CONTAINER").Bind As IScheduledTasksContainer;
Task := Container.Tasks.Item(0).Bind As ISearchEngineImportScheduledTask;
//Context to index objects
EngineSchema := Task.Engine.SearchEngineSchema As ISolrSearchEngineSchema;
ImportContext := Task.ImportContext(SearchEngineTargetType.SourceData) As ISourceDataImportContext;
//Get indexed objects
SourceInfos := ImportContext.SourceInfos;
//Browse information
For i := 0 To SourceInfos.Count - 1 Do
SourceInfo := SourceInfos.Item(i);
Debug.WriteLine("Source: " + MB.Item(SourceInfo.Key).Name + "(Key: " + SourceInfo.Key.ToString + ')');
Debug.WriteLine("Indexed display options:");
Debug.Indent;
DestinationInfos := SourceInfo.DestinationInfos;
For j := 0 To DestinationInfos.Count - 1 Do
CubeDest := DestinationInfos.Item(j).Destination;
Debug.WriteLine(CubeDest.Name + '(' + CubeDest.Id + ')');
End For;
Debug.Unindent;
End For;
End Sub UserProc;
On executing the example, the development environment console displays information about sources and its display options which will be used on search index refreshing.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.BISearch;
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.KeFore;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Container: IScheduledTasksContainer;
Task: ISearchEngineImportScheduledTask;
EngineSchema: ISolrSearchEngineSchema;
ImportContext: ISourceDataImportContext;
SourceInfos: ISourceDataImportInfos;
SourceInfo: ISourceDataImportInfo;
DestinationInfos: ISourceDataImportDestinationInfos;
CubeDest: ICubeModelDestination;
i, j: Integer;
Begin
MB := Params.Metabase;
//Get task
Container := MB.ItemById["TASK_CONTAINER"].Bind() As IScheduledTasksContainer;
Task := Container.Tasks.Item[0].Bind() As ISearchEngineImportScheduledTask;
//Context to index objects
EngineSchema := Task.Engine.SearchEngineSchema As ISolrSearchEngineSchema;
ImportContext := Task.ImportContext[SearchEngineTargetType.settSourceData] As ISourceDataImportContext;
//Get indexed objects
SourceInfos := ImportContext.SourceInfos;
//Browse information
For i := 0 To SourceInfos.Count - 1 Do
SourceInfo := SourceInfos.Item[i];
System.Diagnostics.Debug.WriteLine("Source: " + MB.Item[SourceInfo.Key].Name + "(Key: " + SourceInfo.Key.ToString() + ')');
System.Diagnostics.Debug.WriteLine("Indexed display options:");
System.Diagnostics.Debug.Indent();
DestinationInfos := SourceInfo.DestinationInfos;
For j := 0 To DestinationInfos.Count - 1 Do
CubeDest := DestinationInfos.Item[j].Destination;
System.Diagnostics.Debug.WriteLine(CubeDest.Name + '(' + CubeDest.Id + ')');
End For;
System.Diagnostics.Debug.Unindent();
End For;
End Sub;
See also: