mapeamento artigo anterior nós sabemos o tipo de tipo digital e data para identificar, bem como mapeamento de dois papéis importantes.
Tipo Portanto, quando se cria o índice, não é pré-definida e campo de propriedade associados, o campo de data podem ser assim tratados até à data, o processamento digital da área digital, o valor de cadeia tratamento campo de cadeia e semelhantes.
tipos de dados suportados:
(1) tipo de dados de núcleo (tipos de dados de núcleo)
Character: string, tipos de cordas, incluindo
texto e palavra-chave
tipo de texto é usado para indexar o texto longo, o texto será indexado antes da palavra, a palavra combinação da conversão, indexação. Es permitido para recuperar estas palavras. Tipo de texto não pode ser usado para classificar e polimerização.
Palavra-Chave Digite palavra não é necessária, o filtro pode ser usado para recuperar, classificar e agregação. chave tipo de campo em si só pode ser recuperada
tipo digital: long, integer, short, byte , duplo, flutuador
tipo Data: Data
booleana: boolean
tipo binário: binário
(2) Tipo de dados complexo (tipos de dados complexos)
tipo de matriz (matriz de tipo de dados): nenhum tipo de matriz elemento de matriz especial do tipo especificado, por exemplo:
matriz de caracteres: [ "um", "dois "]
inteiro matriz: [1, 2]
array: [1 [ 2, 3]] é equivalente a [1, 2, 3]
matriz de objectos: [{ "nome": " Maria", "idade": 12}, { "nome": "John", "idade": 10} ]
tipo de objecto (tipo de dados de objecto): _ _ objecto para um único objecto JSON;
tipo aninhada (nested tipo de dados): _ _ aninhada para matriz JSON;
(3) o tipo de localização (tipos de dados Geo)
Tipo coordenadas geográficas (Geo-ponto de tipo de dados): _ geo_point _ para coordenadas de latitude e longitude;
geográfica tipo de forma (Geo-Forma tipo de dados): _ geo_shape _ uma forma complexa semelhante de um polígono;
(4) um tipo específico (tipos de dados especializadas)
Para IPv4 (IPv4 tipo de dados): _ ip _ endereços IPv4;
Tipo de conclusão (Conclusão tipo de dados): _ _ conclusão fornecer sugestões auto-completar;
token tipo COUNT (Token contagem tipo de dados): _ token_count _ para estatística fez uma marca o número de campos de índice, este valor será sempre aumentar e não diminuir por causa das condições do filtro.
mapeador de murmur3
Tipo: através do plugue, para calcular o valor de hash do índice por _ murmur3 _;
tipos adicionais (tipo de dados Anexo): usando o mapeador de anexos
ligar suportes _ Anexos _ índice, como formato do Microsoft Office, Open Document Format, o ePub , HTML e assim por diante.
atributos suportados:
"Store": false // se definir este campo só é armazenado separado do campo fonte_, o padrão é falso, apenas a pesquisa, não poderia obter o valor
"Index": true // palavra, independentemente da palavra é: false, definido como falso, o campo não será indexado
"analisador": "ik" // palavra especificada, o tokenizer padrão para o analisador padrão
"Boost": @ 1,23 fração de peso do nível de campo, o valor padrão é de 1,0
"Doc_values": false // para o campo not_analyzed, são ativadas por padrão, campo de segmentação não pode ser usado para classificação e agregação pode melhorar o desempenho de grandes, memória de poupança
"Fielddata": { "format": "desativado"} // para o campo de texto, pode melhorar o desempenho quando envolvidos na triagem ou agregação, independentemente do campo unificado é recomendado o uso da palavra doc_value
"campos": { "cru" : { "type": "string", "índice": "not_analyzed"}} // pode proporcionar uma pluralidade de modo campo de índice, o valor do mesmo campo, uma palavra, nem um palavra
"ignore_above": 100 // mais do que 100 caracteres de texto, ele será ignorado e não indexado
"Include_in_all": ture // Define se este campo contém _all campo, o padrão é true, a menos que o índice é definido como sem opções
"Index_options": "docs" // 4 docs parâmetro opcional (documentos número índice), freqs (número + freqüência de palavra), posições (Documento n ° + + posição a frequência das palavras, a distância normalmente utilizados para consulta), offsets (Documento n ° + freqüências + + posição de deslocamento, é geralmente utilizado no campo destacado) posição do campo de texto padrão, outros documentos padrão
"Normas": { "Enable": true, "carregamento": "preguiçoso"} // configuração padrão do campo de texto, independentemente dos campos de texto: Padrão { "habilitar": false}, quando o fator de comprimento de memória e aumentar índice, sugeriu a necessidade classificações de uso em campo, extras consumo aumenta memória
"Null_value": "NULL" // definir alguns valores iniciais dos campos em falta, somente a corda pode ser usado, campo palavra valor nulo será palavra
"Position_increament_gap": 0 // impacto ou de proximidade consultas de consulta, os dados podem ser fornecidos no campo multi-valor iluminado campo de texto, pode especificar a consulta slop intervalo, o valor padrão é 100
"Search_analyzer": "ik" // conjunto separador de palavras quando o padrão de pesquisa é consistente com Ananlyzer, como Ngram + padrão com o índice quando utilizado com um prompts automáticos padrão para completar a pesquisa
"Semelhança": "BM25" // TF default / algoritmo IDF, especificar uma política de taxa de campo, válido apenas para cordas e palavra tipo
"Term_vector": "não" // default não armazena as informações vetor, sim parâmetros apoio (armazenamento prazo), with_positions (termo + posição), with_offsets (termo + offset), with_positions_offsets (termo + localização + offset) para destaque rápida rápido marcador vector pode melhorar o desempenho, mas irá aumentar o índice de volume aberto, não é adequado para uma grande quantidade de dados
classificação Mapa:
(1) mapeamento dinâmico:
Quando não ES visto antes se deparar com um campo no documento, ele vai fazer uso de mapeamento dinâmico para determinar o tipo do campo, e adicionar automaticamente um mapeamento para o campo.
Este comportamento pode ser controlado por ajuste dinâmico, ele pode aceitar as seguintes opções:
verdade: Os valores padrão. Adicionar campos dinâmicos
falsa: ignorar os novos campos
estrito: Se você encontrar um campo estranho, lançar uma exceção
dinâmica disposta na raiz pode ser aplicado sobre qualquer objecto ou objecto campo tipo.
Aqui destacamos alguns tipo de objeto
#object类型
PUT /1ib5/person/1
{
"name":"Tom" ,
"age":25,
"birthday":"1985-12-12",
"address":{
"country": "china",
"province":"guangdong",
"city":"shenzhen"
}
}
Nós olhamos para este campo de endereço contém os três campos é o objeto deste tipo deste campo, vamos adicioná-lo criado com sucesso
Nós visualizar a próxima criar automaticamente um mapeamento de mapeamento
GET / 1ib5 / pessoa / _mapping
{
"1ib5" : {
"mappings" : {
"person" : {
"properties" : {
"address" : {
"properties" : {
"city" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"country" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"province" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
},
"age" : {
"type" : "long"
},
"birthday" : {
"type" : "date"
},
"name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
}
Vemos abordar descrição oral, descrição do quadro vermelho é o endereço
#如果是复杂的数组包含对象
PUT /lib6/person/1
{
"persons" :
[
{"name":"lisi","age":27},
{"name":"wangwu","age":26},
{"name":"zhangsan","age":23}
]
}
#底层存储.
{
"persons.name":["lisi", "wangwu" ," zhangsan"],
"persons.age":[27,26,23]
}