お世話になります。
Kibana5.5.2のVisualizationについて、1未満のデータ(0.1や0.08)の描画が全て0で計算されてしまいます。
現在では数値に100をかけて一時対応しておりますが、解消する方法はありますでしょうか。
よろしくお願いいたします。
表示させたいフィールドのmappingはどうなっていますか?
たとえば、type: integerとしたときはグラフ表示時にご指摘のような状況になりました。
適切なdatatypeになっているかを、まずご覧いただくのが良いのではと思いました。
小数点が無視される例
PUT forum1128
{
"mappings": {
"doc": {
"properties": {
"value": {
"type": "integer"
}
}
}
}
}
小数点も有効にした例
PUT forum1128
{
"mappings": {
"doc": {
"properties": {
"value": {
"type": "float"
}
}
}
}
}
こちら手元の環境で試したところ、1未満のデータも正確にプロットされました。
動作確認環境
ES5.5.2, Kibana5.5.2 (Elastic社が提供のDockerイメージを利用)
確認用データ
マッピングの確認
GET forum1128/_mapping
{
"forum1128": {
"mappings": {
"doc": {
"properties": {
"date": {
"type": "date"
},
"value": {
"type": "float"
}
}
}
}
}
}
上記のグラフを描画するのに入れたデータ
POST forum1128/doc/1
{
"date": "2017-11-17",
"value": 0.1
}
POST forum1128/doc/2
{
"date": "2017-11-16",
"value": 0.08
}
POST forum1128/doc/3
{
"date": "2017-11-15",
"value": 3
}
POST forum1128/doc/4
{
"date": "2017-11-14",
"value": 0.5
}
Mappingを確認したところ、
対象の”type”は"long"型となっておりました。
既存のindexは変更することはできないかと存じますが、
投入の新規index作成時にdulkAPIにてMappingを指定することは可能でしょうか。
Index作成時に、まずmapping設定をしておき、その上でBulk APIでデータを投入しなおすか、
Reindex APIを利用すれば良いのではないでしょうか。
(参考)
- https://www.elastic.co/jp/blog/reindex-is-coming
- https://www.elastic.co/guide/en/elasticsearch/reference/5.5/docs-reindex.html
こちらでは、こんな感じで移行して小数点の部分もVisualizationに出ることを確認しました。
Indexの用意
移行前、移行後と2つ用意しておく。
移行前はlong型と、移行後はfloat型を指定する。
PUT forum1128a
{
"mappings": {
"doc": {
"properties": {
"value": {
"type": "long"
}
}
}
}
}
PUT forum1128b
{
"mappings": {
"doc": {
"properties": {
"value": {
"type": "float"
}
}
}
}
}
適当なデータを投入
POST forum1128a/doc/1
{
"date": "2017-11-17",
"value": 0.1
}
Reindexの実行
POST _reindex
{
"source": {
"index": "forum1128a"
},
"dest": {
"index": "forum1128b"
}
}
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.