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

Como indexar campos de strings para pesquisa de facet

Você pode usar o tipo stringFacet do MongoDB Search para indexar campos dastring para facet, o que permite executar uma query de operador de faceta nesse campo. O MongoDB Search não aplica o analisador ao indexar campos string para facet.

O MongoDB Search suporta apenas queries de operadores de faceta em campos indexados como o tipo stringFacet . Para executar uma pesquisa normal também no mesmo campo, você também deve indexar o campo como tipo string.

Para faceta campos de string em documentos incorporados, você deve indexar os campos pai como o tipo de documento. Quando você faceta um campo de string dentro de documentos incorporados, o MongoDB Search retorna a contagem de faceta apenas para o número de documentos pai correspondentes.

O MongoDB Search não indexa dinamicamente valores string para facetamento. Você deve usar mapeamentos estáticos para indexar valores string para facet. Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas para indexar campos string como o tipo number.

Para definir o índice para o tipo stringFacet , escolha seu método de configuração preferido na UI do Atlas e então selecione o banco de dados e collection.

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

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

  3. Clique em Customized Configuration.

  4. Selecione o campo a ser indexado no menu suspenso Field Name.

    Observação

    Você não pode indexar campos que contêm o sinal de dólar ($) no início do nome do campo.

  5. Clique no menu suspenso Data Type e selecione StringFacet. Para saber mais sobre esse tipo, consulte Propriedades do campo.

  6. Clique em Add.

A seguir está a sintaxeJSON para o tipo stringFacet. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.

{
"mappings": {
"dynamic": true|false,
"fields": {
"<field-name>": {
"type": "stringFacet"
}
}
}
}

O tipo MongoDB Search stringFacet tem os seguintes parâmetros:

Nome do campo UI
JSON Option
Tipo
necessidade
Descrição

Data Type

type

string

Obrigatório

Etiqueta legível por humanos que identifica este tipo de campo . O valor deve ser stringFacet. A Pesquisa do MongoDB trunca os valores BSON string indexados como o tipo stringFacet para cerca de 8000 unidades de código UTF-16.

O exemplo de definição de índice abaixo usa a coleção sample_mflix.movies. Se você já tiver os dados de amostra carregados em seu cluster, poderá usar o Visual Editor ou o Editor JSON na UI do Atlas para configurar o índice. Após selecionar seu método de configuração preferido, selecione o banco de dados e a coleção e filtre seu índice para adicionar mapeamentos de campo.

A seguinte definição de índice para a collection sample_mflix.movies no conjunto de dados de amostra indexa o campo genres como stringFacet para faceting.

  1. Na janela Add Field Mapping, selecione genres no menu suspenso Field Name.

  2. Clique no menu suspenso Data Type e selecione StringFacet.

  3. Clique em Add.

{
"mappings": {
"dynamic": false,
"fields": {
"genres": {
"type": "stringFacet"
}
}
}
}

A seguinte definição de índice para a coleção sample_mflix.movies no conjunto de dados de amostra indexa o campo genres como tipos stringFacet e string para retornar os seguintes tipos de resultados para suas queries:

  1. Na janela Add Field Mapping, selecione genres no menu suspenso Field Name.

  2. Clique no menu suspenso Data Type e selecione StringFacet.

  3. Clique em Add.

  4. Repita a etapa 1 e selecione String no menu suspenso Data Type.

  5. Revise a configuração padrão do String Properties e clique em Add.

{
"mappings": {
"dynamic": false,
"fields": {
"genres": [
{
"type": "stringFacet"
},
{
"type": "string"
}
]
}
}
}

Para aprender mais sobre o coletor facet e ver exemplos de queries, consulte Exemplos.

Para saber como criar um índice com uma definição de faceta e consultar esse índice usando o coletor facet, consulte o tutorial Como usar facets com o MongoDB Search.

Para ver um exemplo de índice e consulta que usa stringFacet para executar uma pesquisa facetada com resultados paginados, consulte Usar faceta com os resultados paginados.

Voltar

string

Nesta página