GetOverview(Core: ISolrSearchEngineCore): ISolrCoreInfo;
GetOverview(Core: Prognoz.Platform.Interop.BISearch.ISolrSearchEngineCore): Prognoz.Platform.Interop.BISearch.ISolrCoreInfo;
Core. Экземпляр Solr, о котором необходимо получить информацию.
Метод GetOverview извлекает информацию об указанном экземпляре Solr.
Список экземпляров Solr можно получить в свойстве ISolrSearchEngineService.Cores.
Предполагается, что репозиторий настроен на работу с поисковым сервисом на базе Apache Solr. Подключите системные сборки: BISearch, Fore, Metabase.
Sub UserProc;
Var
MB: IMetabase;
SharedParams: ISharedParams;
SearchEngine: ISolrSearchEngineService;
Core: ISolrSearchEngineCore;
Operations: ISolrOperations;
Info: ISolrCoreInfo;
Begin
MB := MetabaseClass.Active;
//Параметры поиска и индексации, заданные для репозитория
SharedParams := MB.SpecialObject(MetabaseSpecialObject.SharedParams).Bind As ISharedParams;
SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
Core := SearchEngine.Cores.Item(0);
Operations := New SolrOperations.Create;
//Получение информации об экземпляре Solr
Info := Operations.GetOverview(Core);
If Info.HasDeletions Then
Debug.WriteLine("Количество удаленных документов: " + Info.DeletedDocs.ToString);
End If;
Debug.WriteLine("Дата/время последних изменений: " + Info.LastModified.ToString);
Debug.WriteLine("Текущее/максимальное количество документов: " + Info.NumDocs.ToString + "/" + Info.MaxDoc.ToString);
End Sub UserProc;
При выполнении примера будет получена информация об указанном экземпляре Solr. Информация будет выведена в консоль среды разработки.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.BISearch;
Imports Prognoz.Platform.Interop.KeFore;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
SharedParams: ISharedParams;
SearchEngine: ISolrSearchEngineService;
Core: ISolrSearchEngineCore;
Operations: ISolrOperations = New SolrOperationsClass();
Info: ISolrCoreInfo;
Begin
MB := Params.Metabase;
//Параметры поиска и индексации, заданные для репозитория
SharedParams := MB.SpecialObject[MetabaseSpecialObject.msoSharedParams].Bind() As ISharedParams;
SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
Core := SearchEngine.Cores.Item[0];
//Получение информации об экземпляре Solr
Info := Operations.GetOverview(Core);
If Info.HasDeletions Then
System.Diagnostics.Debug.WriteLine("Количество удаленных документов: " + Info.DeletedDocs.ToString());
End If;
System.Diagnostics.Debug.WriteLine("Дата/время последних изменений: " + Info.LastModified.ToString());
System.Diagnostics.Debug.WriteLine("Текущее/максимальное количество документов: " + Info.NumDocs.ToString() + "/" + Info.MaxDoc.ToString());
End Sub;
См. также: