簡體   English   中英

彈性搜索未使用logstash中的已定義模板進行映射

[英]Defined Template from logstash not being used by elastic search for mapping

我有以下logstash輸出配置,可從postgres數據庫進入elasticsearch

https://pastebin.com/BFCH3tuZ

我將位置和模板定義如下:

https://pastebin.com/mK5qshKM

當我運行logstash時,我看到的輸出如下:

[2017-05-24T20:54:10,828][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://localhost:9200/, :path=>"/"}
[2017-05-24T20:54:10,982][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>#<URI::HTTP:0xff97ab URL:http://localhost:9200/>}
[2017-05-24T20:54:10,985][INFO ][logstash.outputs.elasticsearch] Using mapping template from {:path=>"/etc/logstash/universe_template.json"}
[2017-05-24T20:54:11,045][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"universe_elastic", "settings"=>{"analysis"=>{"filter"=>{"gr$
[2017-05-24T20:54:11,052][INFO ][logstash.outputs.elasticsearch] Installing elasticsearch template to _template/universe_elastic
[2017-05-24T20:54:11,145][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>[#<URI::Generic:0xe60519 URL://localhost:9200$
[2017-05-24T20:54:11,154][INFO ][logstash.pipeline        ] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inf$
[2017-05-24T20:54:11,988][INFO ][logstash.pipeline        ] Pipeline main started
[2017-05-24T20:54:12,079][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2017-05-24T20:54:12,108][INFO ][logstash.inputs.jdbc     ] (0.101000s) select planet.id, planet.x || ':' || planet.y || ':' || planet.z coords, planet.x, planet.y, planet.z ,planetname,ru$
[2017-05-24T20:54:15,006][WARN ][logstash.agent           ] stopping pipeline {:id=>"main"}

當我查詢elasticseach模板時,我可以在以下位置看到我的模板:

http://xxxx:9200/_template/ {   "universe_elastic": {
    "order": 0,
    "template": "universe_elastic",
    "settings": {
      "index": {
        "analysis": {
          "filter": {
            "gramFilter": {
              "token_chars": [
                "letter",
                "digit",
                "punctuation",
                "symbol"
              ], ETC ETC ETC......

但是,當我對“ Universe”索引進行檢查時,映射尚未通過:

https://pastebin.com/hw9hYfLn

我希望看到_all字段以及所有引用中的include都設置為true / false。 但是什么也沒有。.而且查詢也不會使用我指定的分析器。

有什么想法可能出什么問題嗎? 我刪除了所有其他可能創建的模板以及重新創建的索引等。

您幾乎正確地完成了所有操作,只需更改一項即可:

在您的模板中,此行

  "template": "universe_elastic",

應該讀

  "template": "universe",

ES僅在您的索引名稱與模板名稱匹配時才應用Apply。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM