Como indexar campos de data para uma pesquisa facet
Nesta página
Você pode utilizar o tipo de Atlas Search dateFacet
para indexar valores de data para faceting.
O Atlas Search suporta apenas consultas de facetas em campos indexados como o tipo dateFacet
. Para executar uma pesquisa normal também no mesmo campo, você deve indexar o campo também como tipo data.
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 de data para facetamento. Você deve utilizar mapeamentos estáticos para indexar valores de data para facetamento. Você pode utilizar o editor visual ou o editor JSON na IU do Atlas para indexar campos de data como o tipo numberFacet
.
dateFacet
Revise as limitações
Aplicam-se as seguintes limitações:
Você não pode indexar um campo de data para faceting se ele estiver dentro de uma matriz ou se estiver dentro de um documento em uma matriz.
O Atlas Search não suporta o facet de data em campos indexados como parte de um campo
embeddedDocuments
.Observação
Para votar nesse recurso e fornecer seu feedback, use esteartigo de feedback do MongoDB .
Defina o índice para o dateFacet
tipo
Para definir o índice para o tipo dateFacet
, 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 DateFacet. Para saber mais sobre esse tipo, consulte Propriedades do campo.
Clique em Add.
A seguir está a sintaxeJSON para o tipo dateFacet
. 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": "dateFacet" } } } }
Configurar dateFacet
propriedades de campo do
O tipo Atlas Search dateFacet
usa o seguinte parâmetro:
Nome do campo UI | JSON Option | Tipo | necessidade | Descrição |
---|---|---|---|---|
Data Type | type | string | necessário | Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser dateFacet . |
Experimente um exemplo para dateFacet
o tipo
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.
O exemplo de definição de índice a seguir indexa o campo released
como o tipo dateFacet
do Atlas Search para dar suporte a queries nesse campo usando a faceta do Atlas Search.
Na janela Add Field Mapping, selecione released no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione DateFacet.
Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "dynamic": false, "fields": { "released": { "type": "dateFacet" } } } }
O exemplo de definição de índice a seguir indexa o campo released
como os tipos dateFacet
e date
para retornar os seguintes tipos de resultados para suas queries:
Resultados de metadados para queries usando a faceta Atlas Search.
Pesquise resultados de queries usando operadores do Atlas Search, como next, equals e range.
Na janela Add Field Mapping, selecione released no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione DateFacet.
Clique em Add.
Repita a etapa 1 e selecione Date no menu suspenso Data Type.
Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "dynamic": false, "fields": { "released": [ { "type": "dateFacet" }, { "type": "date" } ] } } }