当前位置: 首页 > 面试题库 >

“ index”:elasticsearch中的“ not_analyzed”

吴俊风
2023-03-14
问题内容

我已经使用cmd删除了映射

curl -XDELETE 'http://localhost:9200/logstash_log*/'

在我的conf中,我已将索引定义如下,

output {
   elasticsearch {
   hosts => localhost
   index => "logstash_log-%{+YYYY.MM.dd}"
 }

并尝试创建一个新的映射,但是我得到了错误

 #curl -XPUT http://localhost:9200/logstash_log*/_mapping/log -d '

{


     "properties":{
          "@timestamp":"type":"date","format":"strict_date_optional_time||epoch_millis"},
           "message":{"type":"string"},
           "host":{"type":"ip"},
           "name":{"type":"string","index": "not_analyzed"},
           "type":{"type":"string"}
                }

}'

{“错误”:{“ root_cause”:[{“类型”:“ index_not_found_exception”,“原因”:“无此类索引”,“
resource.type”:“ index_or_alias”,“ resource.id”:“ logstash_log ” ,“
index”:“ logstash_log
”}],“ type”:“ index_not_found_exception”,“
reason”:“无此类索引”,“ resource.type”:“ index_or_alias”,“ resource.id”:“
logstash_log ” ,“ index”:“ logstash_log ”},“ status”:404}

我该如何解决?任何帮助将不胜感激!!


问题答案:

您需要像这样重新创建索引:

# curl -XPUT http://localhost:9200/logstash_log -d '{
  "mappings": {
    "log": {
      "properties": {
        "@timestamp": {
          "type": "date",
          "format": "strict_date_optional_time||epoch_millis"
        },
        "message": {
          "type": "string"
        },
        "host": {
          "type": "ip"
        },
        "name": {
          "type": "string",
          "index": "not_analyzed"
        },
        "type": {
          "type": "string"
        }
      }
    }
  }
}'

尽管看起来好像是从logstash创建每日索引,但最好还是创建一个模板。将以下内容存储在里面index_template.json

{
  "template": "logstash-*",
  "mappings": {
    "log": {
      "properties": {
        "@timestamp": {
          "type": "date",
          "format": "strict_date_optional_time||epoch_millis"
        },
        "message": {
          "type": "string"
        },
        "host": {
          "type": "ip"
        },
        "name": {
          "type": "string",
          "index": "not_analyzed"
        },
        "type": {
          "type": "string"
        }
      }
    }
  }
}

然后像这样修改您的logstash配置:

output {
   elasticsearch {
   hosts => localhost
   index => "logstash_log-%{+YYYY.MM.dd}"
   manage_template => true
   template_name => "logstash"
   template => "/path/to/index_template.json"
   template_overwrite => true
}


 类似资料:
  • 我正在运行ElasticSearch 6.2.4。我试图创建Filebeat索引模板,但得到以下错误 filebeat-index.template.json 我想知道是否有官方的filebeat-index-template.json适用于ElasticSearch 6.2.4 null

  • 问题内容: 当我将此配置添加到ubuntu vm中时; 在此配置后,当我重新启动Elasticsearch时,给我这个异常; 问题答案: 这是中的预期行为。不允许在节点级别配置上设置索引级别设置。 从文档中, index.max_result_window(默认值为10,000)是一种保护措施,搜索请求占用的堆内存和时间与+大小成正比。 如果您查看elasticsearch日志,它将显示以下内容,

  • 我的elasticsearch服务器运行时有索引,比如说服务器XX。XXX。XXX。XXX:9200。 我在服务器ES集群XX中有索引。XXX。XXX。XXX:9200,我正试图在本地主机5601(Kibana)中为其创建仪表盘 在我的kibana.yml我有这样的配置: 在弹性搜索中。yml我有这个配置: 但我在运行kibana时遇到了这个错误。yml: 连接ECONNREFUSED超文本传输协

  • 描述 (Description) KnockoutJS Observable slice()方法切出一个数组。 此处的切片与本机JavaScript切片功能相同。 返回从start-index到endindex的元素。 语法 (Syntax) arrayName.slice(start-index,end-index) 参数 (Parameters) 接受2个参数,start-index和end

  • 描述 (Description) KnockoutJS Observable splice()方法采用2个参数来指定startindex和end-index。 它从开始到结束索引中删除项目并将它们作为数组返回。 语法 (Syntax) arrayName.splice(start-index,end-index) 参数 (Parameters) 接受2个参数,start-index是起始索引,e

  • 问题内容: 我有一个Play Framework应用程序,并且正在使用Hibernate 4.2.5.Final(可通过Maven依赖管理器检索)。我决定升级到Hibernate 4.3.0.Final,成功重新编译我的应用程序,然后运行它。 我在下面有一个例外,但无法弄清楚原因。我降级到4.2.5,并且没有发生此问题。然后,我尝试在4.2.5之后的每个最终版本中升级Hibernate。也就是说,