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.
Definir o índice para o tipo stringFacet
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.
Clique em Refine Your Index para configurar seu índice.
Na seção Field Mappings, clique em Add Field Mapping para abrir a janela Add Field Mapping.
Clique em Customized Configuration.
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.Clique no menu suspenso Data Type e selecione StringFacet. Para saber mais sobre esse tipo, consulte Propriedades do campo.
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" } } } }
Configurar propriedades para o tipo stringFacet
O tipo MongoDB Search stringFacet tem os seguintes parâmetros:
Nome do campo UI | JSON Option | Tipo | necessidade | Descrição |
|---|---|---|---|---|
Data Type |
| string | Obrigatório | Etiqueta legível por humanos que identifica este tipo de campo . O valor deve ser |
Experimente um exemplo para o tipo de stringFacet
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.
Na janela Add Field Mapping, selecione genres no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione StringFacet.
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:
Resultados de metadados para queries usando o MongoDB Search
facet(Operador de Pesquisa do MongoDB).Pesquisar resultados para queries usando operadores de pesquisa do MongoDB, como texto, frase e outros operadores que executam pesquisa de texto.
Na janela Add Field Mapping, selecione genres no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione StringFacet.
Clique em Add.
Repita a etapa 1 e selecione String no menu suspenso Data Type.
Revise a configuração padrão do String Properties e clique em Add.
{ "mappings": { "dynamic": false, "fields": { "genres": [ { "type": "stringFacet" }, { "type": "string" } ] } } }
Saiba mais
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.