当前位置: 首页 > 知识库问答 >
问题:

ElasticSearch:字段[hostname]上没有声明类型[keyword]的处理程序

邬英武
2023-03-14

谷歌了很多没有任何运气所以,任何帮助都很感激。

更新1:

ES版本:2.3.3(我相信是最新版本)

{
  "mappings": {
    "_default_": {
      "_all": {
        "norms": false
      },
      "dynamic_templates": [
        {
          "fields": {
            "mapping": {
              "ignore_above": 1024,
              "type": "keyword"
            },
            "match_mapping_type": "string",
            "path_match": "fields.*"
          }
        }
      ],
      "properties": {
        "@timestamp": {
          "type": "date"
        },
        "beat": {
          "properties": {
            "hostname": {
              "ignore_above": 1024,
              "type": "keyword"
            },
            "name": {
              "ignore_above": 1024,
              "type": "keyword"
            }
          }
        },
        "input_type": {
          "ignore_above": 1024,
          "type": "keyword"
        },
        "message": {
          "norms": false,
          "type": "text"
        },
        "offset": {
          "type": "long"
        },
        "source": {
          "ignore_above": 1024,
          "type": "keyword"
        },
        "type": {
          "ignore_above": 1024,
          "type": "keyword"
        }
      }
    }
  },
  "order": 0,
  "settings": {
    "index.refresh_interval": "5s"
  },
  "template": "filebeat-*"
}

共有1个答案

解鸿运
2023-03-14

不能在ES 2.3.3中使用“type”:“keyword”,因为这是ES 5中的一个新数据类型(目前在alpha3)

您需要将所有这些事件替换为

"type": "string",
"index": "not_analyzed"

您需要使用filebeat.template-es2x.json

 类似资料:
  • 问题内容: 当声明为时,Elasticsearch 6.0将显示此错误。 问题答案: Elasticsearch删除了该类型,现在正在使用。所以你的代码应该是这样的

  • 问题内容: 我使用elasticsearch python api创建映射,但是出现了一些错误: 它显示了,并且我找到了一些他们说的解决方案:使用而不是在字段类型中使用,但是它也出错了:elasticsearch-6.5.4 问题答案: 这个 ‘index’:’analyzed’或’index’:’not_analyzed’ 是较旧的Elasticsearch版本映射,不需要。 您需要做的就是对分

  • Section Contents 基本内容 具体细节

  • 问题内容: 我有一个类A,其中包含一些私有字段,而同一类扩展了另一个类B,它也具有一些在A类中的私有字段。 B班有一些私人课 现在,当我尝试从上述类A创建JSON字符串时,出现以下异常: 如何解决这个问题? 由于它们是私有字段,所以我猜创建json字符串时应该没有任何问题,但我不确定。 我创建如下的json字符串: 这里obj是A类的对象 问题答案: 由于它们是私有字段,因此在创建json字符串时

  • 问题是如何使用对象类型发送Header,而不是HTTPClient声明中提供的HttpHeaders。 我在VS代码中得到的错误信息如下所示 “{headers:GetLoggedInUserHeaderRequestParam;}”类型的[ts]参数不可分配给“{headers?:HttpHeaders{[Header:string]:string string[];};};”类型“的参数;”观

  • 我正在为我的申请写测试。我已经为我的gradle项目安装了jacoco插件。在做了测试覆盖率报告后,我看到红色的“公共类MyClass”,这意味着它没有被覆盖。 那么,我如何修复这个问题,并将其覆盖(用绿色着色)?