Buscar contenido

Cómo obtener contenido de la búsqueda

Agregamos la compatibilidad para obtener la IU de contenido de la búsqueda en el SDK. Search Content es un término general que representa varios tipos de funciones de contenido. Consulta las siguientes secciones para saber cómo solicitar cada tipo de función de contenido, respectivamente.

Repetir búsqueda

Llama al método getSearchContent en ContextualSearchRuntime. Este método toma un solo GetSearchContentOptions en el que puedes especificar el texto que se usará para obtener el contenido de la búsqueda. Para repetir la búsqueda, pasa el texto de repetición de la búsqueda a la instancia GetSearchContentOptions.

El objeto SearchContents que se muestra no contiene ninguna propiedad accesible. Contiene toda la información necesaria para renderizar el contenido de la búsqueda, pero, de lo contrario, es opaco.

SwiftUI

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

Objective-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.
                                    }];

Cómo mostrar contenido de la búsqueda

Para mostrar el contenido de la búsqueda, usa los siguientes métodos.

SwiftUI

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

Objective-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];
    }

Siguiente: Cómo mostrar resultados de la búsqueda