Open the menu

    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 entre 0 e 10.
    • qs: Número máximo de resultados rápidos de busca (quick search) a serem retornados. Valor padrão é 5, com limite entre 0 e 10.

    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.