ISolrSearchEngineSchema.SearchOptions

Синтаксис Fore

SearchOptions: ISolrSearchOptions;

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

SearchOptions: Prognoz.Platform.Interop.BISearch.ISolrSearchOptions;

Описание

Свойство SearchOptions возвращает параметры, используемые при поиске данных.

Пример Fore

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

Sub UserProc;
Var
    MB: IMetabase;
    SharedParams: ISharedParams;
    SearchEngine: ISolrSearchEngineService;
    Schema: ISolrSearchEngineSchema;
    Options: ISolrSearchOptions;
Begin
    MB := MetabaseClass.Active;
    SharedParams := MB.SpecialObject(MetabaseSpecialObject.SharedParams).Edit As ISharedParams;
    SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
    Schema := SearchEngine.SearchEngineSchema As ISolrSearchEngineSchema;
    //Изменение настроек
    Options := Schema.SearchOptions;
    Options.Operator_ := LogicalOperator.Or_;
    Options.RelevanceImpactFormula := "sum(userDataDynamic, userWeight)";
    Options.UseSmartSearch := True;
    SearchEngine.Cores.Add("http://localhost:8080/solr-4.4.0/FreeDimensions_ru", SearchEngineTargetType.FreeDimensions, LocaleCodeID.Russian);
    //Сохранение
    SharedParams.SearchEngine := SearchEngine;
    (SharedParams As IMetabaseObject).Save;
End Sub UserProc;

При выполнении примера будут определены настройки поиска в репозитории: будет задан оператор, используемый для объединения слов при поиске, формула влияния на релевантность и включена возможность поиска по свободным измерениям. Для индексации свободных измерений будет указан экземпляр Solr.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Кроме сборок, указанных в примере Fore, подключите также сборку «ForeSystem».

Imports Prognoz.Platform.Interop.BISearch;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.KeFore;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    SharedParams: ISharedParams;
    SearchEngine: ISolrSearchEngineService;
    Schema: ISolrSearchEngineSchema;
    Options: ISolrSearchOptions;
Begin
    MB := Params.Metabase;
    SharedParams := MB.SpecialObject[MetabaseSpecialObject.msoSharedParams].Edit() As ISharedParams;
    SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
    Schema := SearchEngine.SearchEngineSchema As ISolrSearchEngineSchema;
    //Изменение настроек
    Options := Schema.SearchOptions;
    Options.Operator := LogicalOperator.loOr;
    Options.RelevanceImpactFormula := "sum(userDataDynamic, userWeight)";
    Options.UseSmartSearch := True;
    SearchEngine.Cores.Add("http://localhost:8080/solr-4.4.0/FreeDimensions_ru", SearchEngineTargetType.settFreeDimensions, LocaleCodeID.lcidRussian);
    //Сохранение
    SharedParams.SearchEngine := SearchEngine;
    (SharedParams As IMetabaseObject).Save();
End Sub;

См. также:

ISolrSearchEngineSchema