changed default index template: Instead of not tokenizing strings, introduce a multi_field + a {name}.raw variant.
This commit is contained in:
parent
bf4c501c3b
commit
ec90dc65a3
|
@ -1,22 +1,32 @@
|
||||||
{
|
{
|
||||||
"template": ".marvel*",
|
"template": ".marvel*",
|
||||||
"settings": {
|
"settings" : {
|
||||||
"number_of_shards": 1,
|
"number_of_shards": 1,
|
||||||
"number_of_replicas": 1
|
"number_of_replicas": 1,
|
||||||
|
"analysis" : {
|
||||||
|
"analyzer" : {
|
||||||
|
"default" : {
|
||||||
|
"type" : "standard",
|
||||||
|
"stopwords" : "_none_"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"mappings": {
|
"mappings" : {
|
||||||
"_default_": {
|
"_default_" : {
|
||||||
"dynamic_templates": [
|
"dynamic_templates" : [ {
|
||||||
{
|
"string_fields" : {
|
||||||
"string_fields": {
|
"match" : "*",
|
||||||
"match": "*",
|
"match_mapping_type" : "string",
|
||||||
"match_mapping_type": "string",
|
"mapping" : {
|
||||||
"mapping": {
|
"type" : "multi_field",
|
||||||
"index": "not_analyzed"
|
"fields" : {
|
||||||
|
"{name}" : {"type": "string", "index" : "analyzed", "omit_norms" : true },
|
||||||
|
"raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
} ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -13,7 +13,7 @@ define([
|
||||||
var module = angular.module('kibana.panels.marvel.stats_table', []);
|
var module = angular.module('kibana.panels.marvel.stats_table', []);
|
||||||
app.useModule(module);
|
app.useModule(module);
|
||||||
|
|
||||||
var y_format_metric_value = function (value, metric) {
|
function y_format_metric_value(value, metric) {
|
||||||
// If this isn't a number, change nothing
|
// If this isn't a number, change nothing
|
||||||
if(_.isNaN(value) || !_.isFinite(value)) {
|
if(_.isNaN(value) || !_.isFinite(value)) {
|
||||||
return value;
|
return value;
|
||||||
|
@ -25,8 +25,11 @@ define([
|
||||||
return kbn.shortFormat(value, metric.decimals);
|
return kbn.shortFormat(value, metric.decimals);
|
||||||
}
|
}
|
||||||
return value.toFixed(metric.decimals);
|
return value.toFixed(metric.decimals);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
function stripRaw(fieldName) {
|
||||||
|
return fieldName.replace(/\.raw$/,'');
|
||||||
|
}
|
||||||
|
|
||||||
module.controller('marvel.stats_table', function ($scope, dashboard, filterSrv) {
|
module.controller('marvel.stats_table', function ($scope, dashboard, filterSrv) {
|
||||||
$scope.panelMeta = {
|
$scope.panelMeta = {
|
||||||
|
@ -55,7 +58,7 @@ define([
|
||||||
nodes: {
|
nodes: {
|
||||||
defaults: {
|
defaults: {
|
||||||
display_field: "node.name",
|
display_field: "node.name",
|
||||||
persistent_field: "node.ip_port",
|
persistent_field: "node.ip_port.raw",
|
||||||
metrics: [ 'os.cpu.usage', 'os.load_average.1m', 'jvm.mem.heap_used_percent', 'fs.total.available_in_bytes',
|
metrics: [ 'os.cpu.usage', 'os.load_average.1m', 'jvm.mem.heap_used_percent', 'fs.total.available_in_bytes',
|
||||||
'fs.total.disk_io_op'
|
'fs.total.disk_io_op'
|
||||||
],
|
],
|
||||||
|
@ -103,8 +106,8 @@ define([
|
||||||
},
|
},
|
||||||
indices: {
|
indices: {
|
||||||
defaults: {
|
defaults: {
|
||||||
display_field: null,
|
display_field: 'index',
|
||||||
persistent_field: 'index',
|
persistent_field: 'index.raw',
|
||||||
metrics: [ 'primaries.docs.count', 'primaries.indexing.index_total', 'total.search.query_total',
|
metrics: [ 'primaries.docs.count', 'primaries.indexing.index_total', 'total.search.query_total',
|
||||||
'total.merges.total_size_in_bytes', 'total.fielddata.memory_size_in_bytes'
|
'total.merges.total_size_in_bytes', 'total.fielddata.memory_size_in_bytes'
|
||||||
],
|
],
|
||||||
|
@ -256,7 +259,7 @@ define([
|
||||||
$scope.ejs.TermQuery($scope.panel.persistent_field, persistentId)
|
$scope.ejs.TermQuery($scope.panel.persistent_field, persistentId)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
rowRequest.size(1).fields(_.unique([ $scope.panel.display_field, $scope.panel.persistent_field]));
|
rowRequest.size(1).fields(_.unique([ stripRaw($scope.panel.display_field), stripRaw($scope.panel.persistent_field)]));
|
||||||
rowRequest.sort("@timestamp", "desc");
|
rowRequest.sort("@timestamp", "desc");
|
||||||
mrequest.requests(rowRequest);
|
mrequest.requests(rowRequest);
|
||||||
});
|
});
|
||||||
|
@ -273,8 +276,8 @@ define([
|
||||||
}
|
}
|
||||||
|
|
||||||
hit = response.hits.hits[0];
|
hit = response.hits.hits[0];
|
||||||
display_name = hit.fields[$scope.panel.display_field];
|
display_name = hit.fields[stripRaw($scope.panel.display_field)];
|
||||||
persistent_name = hit.fields[$scope.panel.persistent_field];
|
persistent_name = hit.fields[stripRaw($scope.panel.persistent_field)];
|
||||||
|
|
||||||
newRows.push({
|
newRows.push({
|
||||||
display_name: display_name || persistent_name,
|
display_name: display_name || persistent_name,
|
||||||
|
|
Loading…
Reference in a new issue