Pular para o conteúdo principal

Busca

Você pode realizar buscas em uma área de trabalhoÁreas de trabalho representam sites ou aplicativos no Starlight. Todo conteúdo pertence à uma área de trabalho. utilizando um SearchSelector. O tipo dos objetos retornados pelo SearchSelector depende do método utilizado.

Atualmente, o SearchSelector suporta buscas por entradasEntradas são instâncias de um modelo, como uma postagem de um blog ou uma edição de uma revista. de modelosModelos representam dados que se repetem, como posts de um blog ou revistas..

SearchSelector

Visualizar na API

SearchSelectors são úteis para criar buscas "gerais" na sua aplicação, como uma busca por entradasEntradas são instâncias de um modelo, como uma postagem de um blog ou uma edição de uma revista. que englobam todos os modelosModelos representam dados que se repetem, como posts de um blog ou revistas. da sua área de trabalho, ou apenas alguns modelos específicos. Para buscas que englobam apenas um modelo, é recomendado utilizar o método list() de um ModelInstance, que provê mais opções de filtragem do que o SearchSelector.

Para utilizar um SearchSelector, basta acessar a propriedade search de um cliente do SDK:

import Starlight from '@starlightcms/js-sdk'

// A propriedade search é um SearchSelector
const search = Starlight.search

Em geral, você não precisa utilizar um SearchSelector como no exemplo acima. Você pode simplesmente encadear seus métodos para requisitar o que você precisa. Por exemplo:

import Starlight from '@starlightcms/js-sdk'

// Buscar por entradas entre todos os modelos da área de trabalho.
const response = await Starlight.search.entries({
query: 'hello world'
})

// Buscar por entrada em modelos específicos.
const response = await Starlight.search.entries({
query: 'hello world',
models: 'posts,magazines,videos'
})

// Buscar por entrada em modelos e categorias específicas.
const response = await Starlight.search.entries({
query: 'hello world',
models: 'posts,magazines,videos',
categories: 'science,fun-facts'
})

O método entries() suporta uma variedade de parâmetros para filtrar e paginar as entradas retornadas. Verifique a página da interface SearchEntriesParams para saber quais parâmetros estão disponíveis.