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

Analisador de espaço em branco

O analisador whitespace divide o texto em termos pesquisáveis (tokens) onde quer que encontre um caractere de espaço em branco. Todo o texto é deixado em sua caixa original.

Se você selecionar Refine Your Index, a UI do Atlas exibirá uma seção intitulada View text analysis of your selected index configuration dentro da seção Index Configurations. Se você expandir esta seção, a UI do Atlas exibirá o índice e os tokens de pesquisa que o analisador whitespace gera para cada string de amostra. É possível ver os tokens que o analisador whitespace cria para um documento de amostra integrado e uma cadeia de query ao criar ou editar um índice na UI do Atlas Visual Editor.

Importante

O MongoDB Search não indexará campos de string em que os tokens do analisador excedam 32766 bytes de tamanho. Se estiver usando o analisador de palavras-chave, os campos de string que excederem 32766 bytes não serão indexados.

A seguinte definição de índice de exemplo especifica um índice no title campo na coleçãosample_mflix.movies utilizando o whitespace analisador. Para acompanhar esse exemplo, carregue os dados de amostra em seu cluster e use mongosh ou navegue até a Create a Search Index página na UI do Atlas seguindo as etapas do tutorial Criar um índice de pesquisa do MongoDB .

Em seguida, usando a movies collection como sua fonte de dados, siga o procedimento de exemplo para criar um índice a partir de ou da UI do mongosh Atlas Visual Editor JSON editorou.


➤ Use o menu suspenso Selecione seu idioma para definir a interface para o exemplo nesta página.


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

  2. Na seção Index Configurations, alterne Dynamic Mapping para off.

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

  4. Selecione title no menu suspenso Field Name.

  5. Clique em Customized Configuration.

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

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

    Analisador de índice

    Selecione lucene.whitespace no menu suspenso.

    Analisador de pesquisa

    Selecione lucene.whitespace no menu suspenso.

    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.

  8. Clique em Add.

  9. Clique em Save Changes.

  10. Clique em Create Search Index.

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

    {
    "mappings": {
    "fields": {
    "title": {
    "type": "string",
    "analyzer": "lucene.whitespace",
    "searchAnalyzer": "lucene.whitespace"
    }
    }
    }
    }
  2. Clique em Next.

  3. Clique em Create Search Index.

1db.movies.createSearchIndex(
2 "default",
3 {
4 "mappings": {
5 "fields": {
6 "title": {
7 "type": "string",
8 "analyzer": "lucene.whitespace",
9 "searchAnalyzer": "lucene.whitespace"
10 }
11 }
12 }
13 }
14)

A seguinte consulta procura o termo Lion's no campo title .

  1. Clique no botão Query para o seu índice.

  2. Clique em Edit Query para editar a query.

  3. Clique em na barra de query e selecione o banco de dados e a coleção.

  4. Substitua a query padrão pelo seguinte e clique em Find:

    [
    {
    "$search": {
    "text": {
    "query": "Lion's",
    "path": "title"
    }
    }
    }
    ]
    SCORE: 3.7370920181274414 _id: "573a13ebf29313caabdcfc8d"
    awards: Object
    cast: Array (4)
    countries: Array (1)
    directors: Array (1)
    fullplot: "A documentary on young actress, Marianna Palka, as she confronts her r…"
    genres: Array (3)
    imdb: Object
    languages: Array (1)
    lastupdated: "2015-09-03 00:37:45.227000000"
    num_mflix_comments: 0
    plot: "A documentary on young actress, Marianna Palka, as she confronts her r…"
    poster: "https://m.media-amazon.com/images/M/MV5BMTgzMTc2OTg2N15BMl5BanBnXkFtZT…"
    released: 2014-01-18T00:00:00.000+00:00
    runtime: 15
    title: "The Lion's Mouth Opens"
    type: "movie"
    writers: Array (1)
    year: 2014
db.movies.aggregate([
{
"$search": {
"text": {
"query": "Lion's",
"path": "title"
}
}
},
{
"$project": {
"_id": 0,
"title": 1
}
}
])
[ { title: "The Lion's Mouth Opens" } ]

O MongoDB Search retorna esses documentos fazendo o seguinte para o texto no campo title usando o analisador lucene.whitespace :

  • Mantenha as letras maiúsculas e minúsculas originais do texto.

  • Divida o texto em tokens onde quer que ele encontre um caractere de espaço em branco.

A tabela a seguir mostra os tokens (termos pesquisáveis) que o MongoDB Search cria usando o Whitespace Analyzer e, por outro lado, o Simple Analyzer e o analisador de palavras-chave para os documentos nos resultados:

Título
Tokens do analisador de espaço em branco
Tokens de analisador simples
Tokens do analisador de palavras-chave

The Lion's Mouth Opens

The, Lion's, Mouth, Opens

the, lion, s, mouth, opens

The Lion's Mouth Opens

O índice que utiliza o analisador whitespace é sensível a maiúsculas e minúsculas. Portanto, o MongoDB Search é capaz de corresponder o termo de query Lion's ao token Lion's criado pelo analisador whitespace .

Voltar

simples