ISolrOperations.GetPhraseAnalysisByFieldName

Синтаксис Fore

GetPhraseAnalysisByFieldName(Core: ISolrSearchEngineCore; FieldName: String; Phrase: String): Variant;

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

GetPhraseAnalysisByFieldName(Core: Prognoz.Platform.Interop.BISearch.ISolrSearchEngineCore; FieldName: String; Phrase: String): Object;

Параметры

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

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

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

Описание

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

Комментарии

Список экземпляров 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.GetPhraseAnalysisByFieldName(Core, "name""Россйская Федерация");
    Arr := Result As Array;
    For Each v In arr Do
        Debug.WriteLine(v);
    End For;
End Sub UserProc;

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

Пример 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.GetPhraseAnalysisByFieldName(Core, "name""Россйская Федерация");
    Arr := Result As Array;
    For Each v In arr Do
        System.Diagnostics.Debug.WriteLine(v);
    End For;
End Sub;

См. также:

ISolrOperations