elasticsearch Kibana和_源字段,弹性版本6.7,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch Kibana和_源字段,弹性版本6.7,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch Kibana和_源字段,弹性版本6.7

elasticsearch Kibana和_源字段,弹性版本6.7,elasticsearch,kibana,elasticsearch,Kibana,我想要一个基于索引的简单饼图。但是,结果中的字段似乎嵌入在_源字段中,这不能用于Kibana中的术语聚合。 样本结果如下所示: { "settings": { "analysis": { "filter": { "filter_stemmer": { "type": "stemmer", "language": "english" } }, "analyzer": {

我想要一个基于索引的简单饼图。但是,结果中的字段似乎嵌入在_源字段中,这不能用于Kibana中的术语聚合。

样本结果如下所示:

{
  "settings": {
    "analysis": {
      "filter": {
        "filter_stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      },
      "analyzer": {
        "tags_analyzer": {
          "type": "custom",
          "filter": [
            "standard",
            "lowercase",
            "filter_stemmer"
          ],
          "tokenizer": "standard"
        }
      }
    }
  },
  "mappings": {
    "schemav1": {
      "properties": {
      "user_id": {
            "type": "text"
        },

        "technician_query": {
          "analyzer": "tags_analyzer",
          "type": "text"
        },
        "staffer_queries": {
          "analyzer": "tags_analyzer",
          "type": "text"
        },
        "status":{
            "type":"text"
        }
      }
    }
  }
}

现在,如果禁用映射中的_source字段:

我没有得到任何字段:

但是,Kibana Discover页面列出了可用字段,这些字段在启用_source时从未由ES结果返回

索引映射如下图所示:

{
  "settings": {
    "analysis": {
      "filter": {
        "filter_stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      },
      "analyzer": {
        "tags_analyzer": {
          "type": "custom",
          "filter": [
            "standard",
            "lowercase",
            "filter_stemmer"
          ],
          "tokenizer": "standard"
        }
      }
    }
  },
  "mappings": {
    "schemav1": {
      "properties": {
      "user_id": {
            "type": "text"
        },

        "technician_query": {
          "analyzer": "tags_analyzer",
          "type": "text"
        },
        "staffer_queries": {
          "analyzer": "tags_analyzer",
          "type": "text"
        },
        "status":{
            "type":"text"
        }
      }
    }
  }
}

好的,原因很简单,为了在聚合中使用字段,您需要有一个
关键字
版本。不能聚合
文本
字段

将映射转换为:

  "mappings": {
    "schemav1": {
      "properties": {
        "user_id": {
            "type": "keyword"
        },

        "technician_query": {
          "analyzer": "tags_analyzer",
          "type": "text",
          "fields": {
            "raw": {
              "type": "keyword"
            }
          }
        },
        "staffer_queries": {
          "analyzer": "tags_analyzer",
          "type": "text",
          "fields": {
            "raw": {
              "type": "keyword"
            }
          }
        },
        "status":{
            "type":"keyword"
        }
      }
    }
  }

因此,
user\u id
status
现在是
keyword
technology\u查询。raw
staffer\u查询。raw
也是`关键字字段,可以在术语聚合中使用,因此也可以在饼图中使用。

您发送的JSON文档存储在
\u source
字段中,这是正常的。您确定您在Kibana中正确创建了索引模式吗?Kibana发现页面列出了可用字段,这些字段在启用_source时从不由ES结果返回。在上面添加了屏幕截图。您能显示索引的映射吗?@Val添加了映射。好的,您确定Kibana中的索引模式已刷新吗?你在那里看到了什么?谢谢摇滚明星@Val!太棒了,很高兴它有帮助!