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. Ao indexar 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 em suadefinição de índice usando multi. Para saber mais sobre como pesquisar com analisadores alternativos, consulte Construir um caminho de query.

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 múltiplas camadas de objetos multi .

A seguinte definição de índice de exemplo especifica um índice no campo title na coleção sample_mflix.movies utilizando 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 Analisador de Palavras-chave indexa o campo inteiro como um único termo, portanto, ele retornará resultados somente se o termo de pesquisa e o campo especificado corresponderem exatamente.

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