1、Texto
Este campo é usado para indexar texto completo, como o corpo de um e-mail ou a descrição de um produto. Esses campos são analisados, ou seja, uma lista de termos individuais antes de serem convertidos em um índice pelo analisador. O processo de análise permite que o Elasticsearch pesquise palavras individuais em cada campo de texto completo. Campos de texto não são usados para ordenação e raramente são usados para agregação (embora o termo importante agregação seja uma exceção notável). Se você precisa indexar conteúdo estruturado como endereços de e-mail, nomes de host, códigos de status ou rótulos, provavelmente deveria usar campos de palavras-chave. Para códigos ou tags, você também deve usar o campo de palavras-chave.
Às vezes é útil ter versões em texto completo e palavras-chave: uma para buscas em texto completo e outra para agregação e ordenação. Isso pode ser alcançado por meio do multifielding.
2、palavra-chave
Campos usados para indexar dados estruturados, como endereços de e-mail, nomes de host, códigos de status, CEPs ou etiquetas, são frequentemente usados para filtrar (encontrar todas as postagens de blog com status de publicado), ordenar e agregar. Campos de palavras-chave só podem ser pesquisados por valores exatos. Se você precisar indexar conteúdo em texto completo, como e-mails ou descrições de produtos, talvez queira usar o campo de texto.
3. Tipo numérico
inteiro、float
4、Array
No Elasticsearch, não há um tipo específico de array. Por padrão, qualquer campo pode conter 0 ou mais valores, porém, todos os valores em arrays devem ter o mesmo tipo de dado, por exemplo: Matriz de cordas: ["um", "dois"] Arrays inteiros: [1,2] Array de arrays: [1, [2, 3]], equivalente a [1,2,3] Arranjo de objetos: [ { "nome": "Mary", "idade": 12 }, { "nome": "John", "idade": 10 }]
Quando um campo é adicionado automaticamente, o primeiro valor do array determina o tipo de campo. Todos os valores subsequentes devem usar o mesmo tipo de dado, ou pelo menos ser capazes de convertê-los para o mesmo tipo Arrays não suportam tipos de dados mistos: [10, "alguma string"] Arrays podem conter valores nulos que podem ser substituídos pelo null_value configurado ou completamente pulados. Um array vazio[] é tratado como um corpo inexistente - um corpo sem valor.
Usar o tipo de array na documentação não requer nenhuma configuração prévia, pois é suportado nativamente.
5、booleano
Campos booleanos aceitam valores verdadeiros e falsos em JSON, mas também podem aceitar cadeias e números interpretados como verdadeiros ou falsos
Descontinuado na versão 5.3.0.
Quaisquer valores não falsos, "falsos", verdadeiros e "verdadeiros" foram obsoletos. Você não pode usar esses valores pseudo-booleanos ("off", "no", "0", "", 0, 0, 0.0) para buscar domínios booleanos. Por favor, use verdadeiro ou falso em vez disso.
6、Date
Internamente, a data é convertida para UTC (se o fuso horário for especificado) e armazenada como um inteiro longo representando milissegundos desde a época. O formato de data pode ser personalizado, mas se nenhum formato for especificado, o formato padrão é usado:
"strict_date_optional_time|| epoch_millis"
Ou seja, aceita datas com carimbos opcionais que correspondam strict_date_optional_time ou
milissegundos desde a época.
Links de referência:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、binário
O tipo binário aceita valores binários como cadeias codificadas em Base64. Esse campo não é armazenado por padrão e não é pesquisável
|