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

Como indexar campos de data para uma pesquisa facet

Nesta página

  • Revise as limitações dateFacet
  • Defina o índice para o tipo dateFacet
  • Configurar propriedades do campo dateFacet
  • Experimente um exemplo para o tipo dateFacet

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.

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 .

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.

  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 DateFacet. Para saber mais sobre esse tipo, consulte Propriedades do campo.

  6. 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"
}
}
}
}

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.

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.

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

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

  3. 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:

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

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

  3. Clique em Add.

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

  5. 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"
}
]
}
}
}

Dica

Consulte também: Exemplos adicionais de definição de índice

Voltar

data