Como indexar campos de strings para pesquisa de facet
Nesta página
Você pode usar o tipo de Atlas Search stringFacet
para indexar campos destring para faceting, o que permite que você execute uma consulta de faceta nesse campo. O Atlas Search não aplica o analisador ao indexar campos string
para facetagem.
O Atlas Search tem suporte somente para queries de facetas em campos indexados como o tipo stringFacet
. Para também fazer uma pesquisa normal no mesmo campo, você também deve indexar o campo como tipo string
.
Para faceta em campos de string em documentos incorporados, você deve indexar os campos principais como o tipo de documento. Quando facetas são utilizadas em um campo de string dentro de documentos incorporados, o Atlas Search retorna a contagem de facetas somente para o número de documentos principais correspondentes.
O Atlas Search não indexa dinamicamente valores string
para facet. Você deve utilizar mapeamentos estáticos para indexar valores do string
para facetamento. Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas para indexar campos string
como o tipo numberFacet
.
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" } } } }
Configure propriedades para o tipo stringFacet
O tipo Atlas 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 para humanos que identifica este tipo de campo. O valor deve ser |
Experimente um exemplo para o tipo stringFacet
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.
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" } } } }
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:
Resultados de metadados para queries usando a faceta Atlas Search.
Pesquise resultados para queries usando operadores do Atlas Search 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" } ] } } }