ISolrOperations.GetPhraseAnalysisByFieldType

Синтаксис Fore

GetPhraseAnalysisByFieldType(Core: ISolrSearchEngineCore; FieldType: String; Phrase: String): Variant;

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

GetPhraseAnalysisByFieldType(Core: Prognoz.Platform.Interop.BISearch.ISolrSearchEngineCore; FieldType: String; Phrase: String): Object;

Параметры

Core. Экземпляр Solr, с которым осуществляется работа.

FieldType. Тип поля, по которому осуществляется анализ.

Phrase. Анализируемая фраза.

Описание

Метод GetPhraseAnalysisByFieldType анализирует указанную фразу по типу поля и возвращает массив, содержащий набор слов-синонимов.

Комментарии

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

Пример Fore

Предполагается, что репозиторий настроен на работу с поисковым сервисом на базе Apache Solr. Подключите системные сборки: BISearch, Fore, Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    SharedParams: ISharedParams;
    SearchEngine: ISolrSearchEngineService;
    Core: ISolrSearchEngineCore;
    Operations: ISolrOperations;
    Result, v: Variant;
    Arr: Array;
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;
    Result := Operations.GetPhraseAnalysisByFieldType(Core, "synonym_searcher""Россйская Федерация");
    Arr := Result As Array;
    For Each v In arr Do
        Debug.WriteLine(v);
    End For;
End Sub UserProc;

При выполнении примера будет осуществлен анализ указанной фразы по полю с назначением «synonym_searcher». Полученные слова-синонимы будут выведены в консоль среды разработки.

Пример 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();
    Result, v: Object;
    Arr: Array;
Begin
    MB := Params.Metabase;
    SharedParams := MB.SpecialObject[MetabaseSpecialObject.msoSharedParams].Bind() As ISharedParams;
    SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
    Core := SearchEngine.Cores.Item[0];
    Result := Operations.GetPhraseAnalysisByFieldType(Core, "synonym_searcher""Россйская Федерация");
    Arr := Result As Array;
    For Each v In arr Do
        System.Diagnostics.Debug.WriteLine(v);
    End For;
End Sub;

См. также:

ISolrOperations