我有一个Kibana可视化,它按文本字段的术语排序。
contract 1
contract 2
contract 3
contract 34
contract 35
contract 4
contract 5....
我的问题是,它看到合同34和35与3相同(作为一个例子)我可以理解这样做的逻辑,但是无论如何要解决这个小细微差别?
答案 0 :(得分:0)
这称为lexicographical order,而不是数字顺序。在术语聚合中,存储桶可以按文档计数,按术语(您的情况)或通过其他指标子聚合进行排序。
如果您有另一个包含合同编号的数字字段,您最终可以在该数字字段上创建一个指标子聚合,并根据该指标对父存储桶进行排序(请参阅下面的示例),否则您需要创建一个现场...或应对词典顺序。
{
"aggs": {
"contracts": {
"terms": {
"field": "contractField",
"order": {
"contractNumber": "asc"
}
},
"aggs": {
"contractNumber": {
"avg": {
"field": "contractNumberField"
}
}
}
}
}
}