Meus Documentos

Barra Lateral Multi-raiz

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

Atlas Search

Configure o operador de busca do Atlas, composto/filter, score, highlight, token de sequência, paginação/count com base na versão 1.0.0.


Busca básica do Atlas
java

$search e $searchMeta devem ser o primeiro estágio do pipeline de agregação, portanto, estão separados do fluxo comum fields(...).end(). Você também pode usar .search() sem o índice.

Operador de busca

construtor raiz: text, phrase, autocomplete, equals, exists, in, range, compound

cláusula reutilizável: SearchOperators.text/phrase/autocomplete/equals/in/exists/range

operador raiz nativo do driver: operator(SearchOperator)

wrapper nomeado do Driver: SearchOperators.driver(name, operator)

java

compound suporta must, mustNot, should, filter, minimumShouldMatch, score e você também pode passar um AtlasSearchOperator diretamente.

Texto / Frase / Autocomplete
java

text: caminho(s), consulta(s), fuzzy, matchCriteria, sinônimos, score

phrase: caminho(s), consulta(s), slop, sinônimos, score

autocomplete: caminho único, consulta(s), tokenOrder, fuzzy, score

fuzzy(...) e synonyms(...) não são usados simultaneamente.

Diferença entre cláusula de busca e campos pós-busca.
java

search().fields(...) não é um filtro interno do $search, mas um $match comum após o $search. Para restringir candidatos na etapa do índice de busca, use compound.filter(...).

text
Score e ordenação
java

scoreDesc()/scoreAsc() e ordenação comum têm prioridade definida pela ordem de chamada. Para uma paginação estável, é recomendável ter uma ordenação de campo único estável junto com o score.

Destaque / detalhes do score / token de sequência
java

Os aliases padrão são highlights, scoreDetails, searchSequenceToken. addFieldsScoreDetails() também ativa os detalhes de pontuação da opção de pesquisa.

Paginação / token de sequência / contagem
java

count().execute()

Contagem final do pipeline refletindo post-search fields(...) e o limite de pontuação.

count().executeSearchMeta()

Contagem de metadados $searchMeta. Suporta SearchCountType.TOTAL/LOWER_BOUND e não executa $match pós-pesquisa.

existsQuery().execute()

Verifica se há mais de um resultado no pipeline de pesquisa.

Extensão nativa do Driver
java

stage(Bson) é inserido logo após $search e não se aplica ao pipeline de contagem de metadados $searchMeta de executeSearchMeta(). Se novos recursos do Driver forem adicionados antes da API de conveniência DSL, use operator, driverOptions, stage, SortSpec.driver, customizeAggregation primeiro.

© 2026 Byeolnaerim. Todos os direitos reservados.IntroduçãoPolítica de Privacidade