Elasticsearch实践与分析码农的世界大数据

Elasticsearch 100问(1-30)

2019-08-15  本文已影响20人  bellengao

第1问

第2问

第3问

第4问

filter {
    grok {
        match => ["message", "%{TIMESTAMP_ISO8601:logdate}"
    }
    date {
        match => ["logdate", "yyyy-MM-dd HH:mm:ss,SSS"]
        target => "@timestamp"
    }
}

第5问

filter {
  date {
    match => ["message","UNIX_MS"]
    target => "@timestamp"   
  }
  ruby { 
   code=>"event.set('timestamp',event.get('@timestamp').time.localtime + 8*60*60)" 
      }
  ruby {
   code => "event.set('@timestamp',event.get('timestamp'))"
  }
  mutate {
   remove_field => ["timestamp"]
  }
}

第6问

第7问

第8问

第9问

第10问

第11问

创建索引并添加doc:

curl -XPUT "http://localhost:10001/music" -H 'Content-Type: application/json' -d'
{
    "mappings": {
      "_doc":{
        "properties" : {
            "suggest" : {
                "type" : "completion"
            },
            "title" : {
                "type": "keyword"
            }
        }
    }
}}'

curl -XPUT "http://localhost:10001/music/_doc/7?refresh" -H 'Content-Type: application/json' -d'
{
    "suggest" : {
        "input": [ "bat", "bar"]
    }
}'

查询:

curl -XPOST "http://localhost:10001/music/_search?pretty" -H 'Content-Type: application/json' -d'
{
    "suggest": {
        "song-suggest" : {
            "prefix" : "ba", 
            "completion" : { 
                "field" : "suggest" 
            }
        }
    }
}'

结果:

...
"options": [
          {
            "text": "bar",
            "_index": "music",
            "_type": "_doc",
            "_id": "7",
            "_score": 1,
            "_source": {
              "suggest": {
                "input": [
                  "bat",
                  "bar"
                ]
              }
            }
          }
        ]
...

第12问

第13问

第14问

第15问

第16问

第17问

第18问

第19问

第20问

{
    "query":{
        "query_string":{
            "query":"field:*ab*"
        }
    }
}

第21问

第22问

第23问

第24问

第25问

第26问

(1)nginx日志配置为json格式, filebeat配置文件中指定解析json格式的日志json.keys_under_root: true
(2)仍然使用默认的nginx日志格式,在es中自定义ingest pipeline解析每个字段,filebeat配置文件中指定使用定义好的pipeline

第27问

第28问

{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_ik": {
          "type": "ik_smart",
          "enable_lowercase": false
        }
      }
    }
  }
}

第29问

第30问

上一篇下一篇

猜你喜欢

热点阅读