Поиск контента

Получить контент для поиска

Мы добавили поддержку получения пользовательского интерфейса контента поиска в SDK. Search Content — это общий термин, обозначающий несколько типов функций контента. В следующих разделах вы узнаете, как запросить каждый тип функции контента соответственно.

Поиск Повторить

Вызовите метод getSearchContent для ContextualSearchRuntime . Этот метод принимает один GetSearchContentOptions , где вы можете указать текст, который будет использоваться для получения содержимого поиска. Чтобы получить повтор поиска, передайте текст повтора поиска в экземпляр GetSearchContentOptions .

Возвращенный объект SearchContents не содержит доступных свойств. Он содержит всю необходимую информацию для отображения содержимого поиска, но в остальном непрозрачен.

SwiftUI

Task {
  let sampleSearchRepeat = "search repeat text"
  let options = GetSearchContentOptions(searchRepeat: sampleSearchRepeat)
  let searchContents: SearchContents =
    try await contextualSearchRuntime.getSearchContent(withOptions: options)
}

Цель-C

GetSearchContentOptions *options =
    [[GetSearchContentOptions alloc] initWithSearchRepeat:@"sample search repeat"];
[_contextualSearchRuntime getSearchContentWithOptions:options
                                    completionHandler:^(SearchContents *_Nullable contents,
                                                        NSError *_Nullable error) {
                                      // error will be not null if there is an error.
                                      // On success, contents will be non null.
                                    }];

Отобразить содержимое поиска

Чтобы отобразить содержимое поиска, используйте следующие методы.

SwiftUI

var customizationOptions = SearchContentViewOptions()
...
VStack {
  ForEach(searchContents.searchContentBlocks) { block in
    SearchContentView(blockData: block, options: customizationOptions)
  }
}

Цель-C

for (SearchContentBlockData *block in ((SearchContents *)_searchContents)
             .searchContentBlocks) {
      SearchContentViewController *blockView = [[SearchContentViewController alloc]
          initWithOptions:[[SearchSuggestionsViewOptions alloc] init]];
      blockView.blockData = block;
      [_searchContentStackView addSubview:blockView.view];
      [blockView addToViewController:self];
    }

Далее: Отображение результатов