На основе Эластичные документы , каждый тип, кроме текста (анализируемой строки), поддерживает doc_values
, который, как я полагаю, при наличии должен полностью пропустить fielddata
в Агрегации.
Однако этодля меня это не так, всякий раз, когда я делаю термин агрегация на основе типа keyword
или ip
, я вижу, что они загружаются как fieldata
, хотя это не происходит для других типов (например, session_id какlong
введите в этом случае)
Это правильное поведение?если это правда, как я могу предотвратить создание fielddata
?
Я использую эластичный поиск 6.5, и это мое отображение
{
"settings": {
"index": {
"number_of_shards": 2,
"number_of_replicas": 0,
"codec": "best_compression"
}
},
"mappings": {
"_doc": {
"properties": {
"time": {
"type": "date",
"format": "epoch_millis"
},
"session_token": {
"type": "keyword"
},
"session_ref": {
"type": "keyword"
},
"session_id": {
"type": "long"
},
"src": {
"type": "ip"
},
"version": {
"type": "byte"
}
}
}
}
}
Это пример агрегации, который вызывает fielddata
загружено
GET test_ind/_search?size=0
{
"aggs" : {
"by_token":{
"terms":{
"field": "token",
"size": 100
}
}
}
}
, а здесь - состояние полевых данных после агрегирования
"test_ind" : {
"uuid" : "DiB6d7EgSXm7jeiSgoo-mQ",
"primaries" : {
"fielddata" : {
"memory_size_in_bytes" : 1564696,
"evictions" : 0,
"fields" : {
"session_ref" : {
"memory_size_in_bytes" : 0
},
"session_token" : {
"memory_size_in_bytes" : 1564696
}
}
}
},
"total" : {
"fielddata" : {
"memory_size_in_bytes" : 1564696,
"evictions" : 0,
"fields" : {
"session_ref" : {
"memory_size_in_bytes" : 0
},
"session_token" : {
"memory_size_in_bytes" : 1564696
}
}
}
}
}
, а вот статистика сегментов
"test_ind" : {
"uuid" : "DiB6d7EgSXm7jeiSgoo-mQ",
"primaries" : {
"segments" : {
"count" : 8,
"memory_in_bytes" : 472939,
"terms_memory_in_bytes" : 423365,
"stored_fields_memory_in_bytes" : 3504,
"term_vectors_memory_in_bytes" : 0,
"norms_memory_in_bytes" : 0,
"points_memory_in_bytes" : 41598,
"doc_values_memory_in_bytes" : 4472,
"index_writer_memory_in_bytes" : 0,
"version_map_memory_in_bytes" : 0,
"fixed_bit_set_memory_in_bytes" : 0,
"max_unsafe_auto_id_timestamp" : -1,
"file_sizes" : { }
}
},
"total" : {
"segments" : {
"count" : 8,
"memory_in_bytes" : 472939,
"terms_memory_in_bytes" : 423365,
"stored_fields_memory_in_bytes" : 3504,
"term_vectors_memory_in_bytes" : 0,
"norms_memory_in_bytes" : 0,
"points_memory_in_bytes" : 41598,
"doc_values_memory_in_bytes" : 4472,
"index_writer_memory_in_bytes" : 0,
"version_map_memory_in_bytes" : 0,
"fixed_bit_set_memory_in_bytes" : 0,
"max_unsafe_auto_id_timestamp" : -1,
"file_sizes" : { }
}
}
}