Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Menu Docs
Página inicial do Docs
/ /

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.

The following index definition example uses the sample_mflix.movies collection. If you have the sample data already loaded on your cluster, you can use the Visual Editor or JSON Editor in the Atlas UI to configure the index. After you select your preferred configuration method, select the database and collection, and refine your index to add field mappings.

The following index definition for the sample_mflix.movies collection in the sample dataset indexes the genres field as stringFacet for 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"
}
}
}
}

The following index definition for the sample_mflix.movies collection in the sample dataset indexes the genres field as stringFacet and string types to return the following types of results for your 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