ISolrOperations.GetOverview

Синтаксис Fore

GetOverview(Core: ISolrSearchEngineCore): ISolrCoreInfo;

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

GetOverview(Core: Prognoz.Platform.Interop.BISearch.ISolrSearchEngineCore): Prognoz.Platform.Interop.BISearch.ISolrCoreInfo;

Параметры

Core. Экземпляр Solr, о котором необходимо получить информацию.

Описание

Метод GetOverview извлекает информацию об указанном экземпляре Solr.

Комментарии

Список экземпляров Solr можно получить в свойстве ISolrSearchEngineService.Cores.

Пример Fore

Предполагается, что репозиторий настроен на работу с поисковым сервисом на базе 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.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;

См. также:

ISolrOperations