Construção de Estílos de Busca
A interface lumis.service.search.search foi projetada para oferecer uma experiência de busca eficiente e interativa. Ela inclui um campo de busca com funcionalidade de autocomplete, que sugere conteúdos relacionados e palavras-chave enquanto o usuário digita. O usuário pode selecionar diretamente um conteúdo sugerido e ser redirecionado à página correspondente, ou acessar a página de resultados completa para ver todos os conteúdos relacionados ao termo de busca.
Endpoints Disponíveis
A interface de serviço de busca foi projetada para oferecer funcionalidades avançadas de pesquisa, incluindo sugestões de autocomplete e busca rápida de conteúdos.
Ponto de Acesso: /lumis/service/search/rest/autocomplete
O endpoint lumis/service/search/rest/autocomplete
é responsável por fornecer sugestões de pesquisa e conteúdos relacionados ao termo digitado.
Ele é ativado quando o usuário começa a digitar no campo de busca. Esse endpoint deve ser chamado no escopo de uma instância de uma das interfaces
lumis.service.search.search
ou lumis.service.search.searchResults
.
Formato da Requisição
GET /lumis/service/search/rest/autocomplete?q={termo}&ii={serviceInterfaceInstanceId}&as={autoCompleteSuggestionsCount}&qs={quickSearchSuggestionsCount}
q
: O termo de pesquisa inserido pelo usuário.ii
: Identificador da instância de interface de serviço utilizada para realizar a pesquisa (serviceInterfaceInstanceId).as
: Número máximo de sugestões de autocomplete a serem retornadas. Valor padrão é5
, com limite entre0
e10
.qs
: Número máximo de resultados rápidos de busca (quick search) a serem retornados. Valor padrão é5
, com limite entre0
e10
.
Exemplo de Requisição
GET /lumis/service/search/rest/autocomplete?q=noticia&ii=abc123
Estrutura do Retorno
O retorno está em formato JSON e contém dois arrays principais:
- hints: Sugestões de palavras-chave.
- quickSearch: Itens que correspondem ao termo de busca, contendo informações como:
- url: URL do conteúdo.
- searchHit: conteúdos relacionados encontrados:
- document:: Dados do conteúdo.
- score:: Pontuação de relevância para o conteúdo.
- highlights:: Trechos destacados do conteúdo que correspondem ao termo de busca.
Abaixo está um exemplo de resposta JSON:
{
"hints": [
"exemplo1",
"exemplo2"
],
"quickSearch": [
{
"url": "http://example.com/portal/hyperlink.jsp?lumParams=exemplo1",
"searchHit": {
"score": 17.565548,
"highlights": {
"": [
"exemplo1"
]
},
"document": {
"lum_standard": {
"title": "Título do Exemplo 1"
}
}
}
},
{
"url": "http://example.com/portal/hyperlink.jsp?lumParams=exemplo2",
"searchHit": {
"score": 15.728568,
"highlights": {
"": [
"exemplo2"
]
},
"document": {
"lum_standard": {
"title": "Título do Exemplo 2"
}
}
}
}
]
}
Exemplo de retorno quando nenhum conteúdo é encontrado:
{
"hints": [],
"quickSearch": []
}
Utilizando o Retorno
O retorno do endpoint é em formato JSON e fornece tanto as sugestões de palavras-chave quanto os conteúdos relacionados. A partir desses dados, o desenvolvedor pode gerar o HTML mais apropriado para a interface, adaptando o layout e a estrutura visual conforme a necessidade do projeto. Isso permite adaptar o comportamento de autocomplete à estética da aplicação e à experiência do usuário desejada.