Search(Context: ISearchEngineSearchContext): ISearchResults;
Context. Контекст с параметрами поиска.
Метод Search осуществляет поиск и возвращает результирующий набор записей, удовлетворяющих заданным условиям.
Предполагается, что репозиторий настроен на работу с поисковым сервисом на базе Apache Solr. В базе поискового сервиса имеются индексированные данные о срезах различных источников данных репозитория. Подключите системные сборки: BISearch, Fore, Metabase.
Sub UserProc;
Var
MB: IMetabase;
SharedParams: ISharedParams;
SearchEngine: ISolrSearchEngineService;
Schema: ISolrSearchEngineSchema;
SearchExecutor: ISearchExecutor;
SearchContext: ISolrSourceDataSearchContext;
Results: ISolrSearchResults;
Result: ISearchResult;
i: Integer;
Begin
MB := MetabaseClass.Active;
//Параметры поиска и индексации, заданные для репозитория
SharedParams := MB.SpecialObject(MetabaseSpecialObject.SharedParams).Bind As ISharedParams;
SearchEngine := SharedParams.SearchEngine As ISolrSearchEngineService;
Schema := SearchEngine.SearchEngineSchema As ISolrSearchEngineSchema;
//Параметры поиска
SearchExecutor := Schema.SearchExecutor(SearchEngineTargetType.SourceData);
SearchContext := SearchExecutor.CreateContext As ISolrSourceDataSearchContext;
SearchContext.Locale := LocaleCodeID.Russian;
SearchContext.Text := "Россия";
//Поиск
Results := SearchExecutor.Search(SearchContext) As ISolrSearchResults;
//Просмотр результатов поиска
For i := 0 To Results.Count - 1 Do
Result := Results.Item(i);
Debug.WriteLine("Наименование
среза: """ + Result.Name + """. Описание: """ + Result.Description + '"');
If Result.HighlightedName <> "" Then
Debug.Indent;
Debug.WriteLine("Значения с подсветкой искомого значения:");
Debug.WriteLine("Наименование среза: """ + Result.HighlightedName + """. Описание: """ + Result.HighlightedDescription + '"');
Debug.Unindent;
End If;
End For;
End Sub UserProc;
При выполнении примера будет осуществлен поиск указанного значения по индексированной информации об элементах измерений. Полученные результаты будут выведены в консоль среды разработки.
См. также: