Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / / /

Analisador múltiplo

Nesta página

  • Limitações
  • Exemplo

Você pode usar o objeto multi em sua definição de índice para especificar analisadores alternativos com os quais também indexar o campo. Quando indexa um campo com analisadores alternativos além do analisador padrão, você pode pesquisar a coleção com o analisador padrão ou alternativo. Esta página demonstra como especificar analisadores alternativos na sua definição de índice usando multi. Para saber mais sobre como pesquisar com analisadores alternativos, consulte Construir um caminho de consulta.

A opção de caminho do multi está disponível somente para campos do tipo string.

O Atlas Search não suporta o aninhamento de várias camadas de objetos multi.

O exemplo de definição de índice a seguir especifica um índice no campo title na coleção sample_mflix.movies usando o analisador standard. A definição do índice também especifica o analisador de palavras-chave como um analisador alternativo para o campo title, com o nome keywordAnalyzer. O analisador do Keyword Analyzer indexa todo o campo como um único termo, portanto, ele retorna resultados somente se o termo de pesquisa e o campo especificado tiverem uma correspondência exata.

Se você carregou a collection no seu agrupamento, você poderá criar o índice de exemplo utilizando o Editor Visual ou o EditorJSON do na UI do Atlas. Depois de selecionar seu método de configuração preferido, selecione o reconhecimento de data center e a collection.

  1. Clique em Refine Your Index para configurar seu índice.

  2. Na seção Field Mappings, clique em Add Field para abrir a janela Add Field Mapping.

  3. Selecione title no menu suspenso Field Name.

  4. Clique no menu suspenso Data Type e selecione String se ainda não estiver selecionado.

  5. Expanda o String Properties e faça as seguintes alterações:

    Analisador de índice

    Selecione lucene.standard no menu suspenso se ainda não estiver selecionado.

    Analisador de pesquisa

    Selecione lucene.standard no menu suspenso se ainda não estiver selecionado.

    Opções de índice

    Use o offsets padrão.

    Store

    Use o true padrão.

    Ignorar acima

    Manter a configuração padrão.

    Normas

    Use o include padrão.

  6. Clique em Add Multi Field para configurar outro analyzer no campo title .

  7. Insira keywordAnalyzer no campo Multi Field Name .

  8. Faça as seguintes alterações em Multi Field Properties:

    Analisador de índice

    Selecione lucene.keyword no menu suspenso se ainda não estiver selecionado.

    Analisador de pesquisa

    Selecione lucene.keyword no menu suspenso se ainda não estiver selecionado.

    Opções de índice

    Use o offsets padrão.

    Store

    Use o true padrão.

    Ignorar acima

    Manter a configuração padrão.

    Normas

    Use o include padrão.

  9. Clique em Add.

  10. Clique em Save Changes.

  11. Clique em Create Search Index.

  1. Substitua a definição de índice padrão pela seguinte definição de índice.

    1{
    2 "mappings": {
    3 "dynamic": false,
    4 "fields": {
    5 "title": {
    6 "type": "string",
    7 "analyzer": "lucene.standard",
    8 "multi": {
    9 "keywordAnalyzer": {
    10 "type": "string",
    11 "analyzer": "lucene.keyword"
    12 }
    13 }
    14 }
    15 }
    16 }
    17}
  2. Clique em Next.

  3. Clique em Create Search Index.

A query a seguir usa o analisador alternativo, chamado keywordAnalyzer, para o Atlas Search em busca de correspondências exatas na string The Count of Monte Cristo.

1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 "query": "The Count of Monte Cristo",
6 "path": { "value": "title", "multi": "keywordAnalyzer" }
7 }
8 }
9 },
10 {
11 "$project": {
12 "title": 1,
13 "year": 1,
14 "_id": 0
15 }
16 }
17])
{ "title" : "The Count of Monte Cristo", "year" : 1934 }
{ "title" : "The Count of Monte Cristo", "year" : 1954 }
{ "title" : "The Count of Monte Cristo", "year" : 1998 }

Por outro lado, a mesma query usando o analyzer standard encontraria todos os filmes com a palavra the ou Count ou of ou Monte ou Cristo no título.

O Atlas Search cria os seguintes tokens (termos pesquisáveis) para os documentos nos resultados utilizando os analisadores:

Título
Tokens de analisador padrão
Tokens do analisador de palavras-chave

The Count of Monte Cristo

the, count, of, monte, cristo

The Count of Monte Cristo

Voltar

Linguagem

Nesta página