我正在玩timelion,kibana的插件。 大多数功能在我的数据集上工作正常,除了一个: 基数
在timelion的博客节目
中的演示import { EJSON } from 'meteor/ejson';
function getOptions(self) {
const opts = [];
if (self.global) opts.push('g');
if (self.ignoreCase) opts.push('i');
if (self.multiline) opts.push('m');
return opts.join('');
}
RegExp.prototype.clone = function clone() {
return new RegExp(this.source, getOptions(this));
};
RegExp.prototype.equals = function equals(other) {
if (!(other instanceof RegExp)) return false;
return EJSON.stringify(this) === EJSON.stringify(other);
};
RegExp.prototype.typeName = function typeName() {
return 'RegExp';
};
RegExp.prototype.toJSONValue = function toJSONValue() {
return { regex: this.source, options: getOptions(this) };
};
EJSON.addType('RegExp', value => new RegExp(value.regex, value.options));
在我的数据集中,我有一个类似的情况:logs和city_name,我想用city_name替换用户,所以这是我试过的:
.es(*), .es(metric=cardinality:user)
但是第二个图表行中的值都是零,即使我尝试过:
.es(*), .es(metric=cardinality:geoip.city_name)
仍然是相同的结果。 但是当我尝试类似的领域时:
.es(metric=cardinality:geoip.city_name)
效果很好,像"纬度","经度"也适用,但其他字符串提交,如" region_name"," country_name"," timezone"结果都是0。
我能看到的唯一区别是不同的数据类型: 使用float和ip的类型效果很好 字符串类型无法正常工作
我的问题是,是否可以使用字符串字段作为基数。
答案 0 :(得分:1)