Vraag curl -X POST -d @ mapping.json + toewijzing niet gemaakt


Ik ben elastische zoeker aan het leren. Ik heb de toewijzing opgegeven in 'mapping.json'. De inhoud is

{
    "book" : {
         "_index" : {
             "enabled" : true
         },
         "_id" : {
             "index": "not_analyzed",
             "store" : "yes"
         },
        "properties" : {
            "author" : {
                "type" : "string"
            },
            "characters" : {
                "type" : "string"
            },
            "copies" : {
                "type" : "long",
                "ignore_malformed" : false
            },
            "otitle" : {
                "type" : "string"
            },
            "tags" : {
                "type" : "string"
            },
            "title" : {
                "type" : "string"
            },
            "year" : {
                "type" : "long",
                "ignore_malformed" : false,
                "index" : "analyzed"
            },
            "available" : {
                "type" : "boolean",
                "index" : "analyzed"
            }
        }
    }
}

De huidige toewijzingen zijn

$ curl -XGET http://localhost:9200/_mapping?pretty
=> { 
   "development_users" : {
      "user" : {
         "properties" : {
            "email" : {
               "type" : "string"
            },
            "first_name" : {
               "type" : "string"
            },
            "id" : {
               "type" : "string",
               "index" : "not_analyzed",
               "omit_norms" : true,
               "index_options" : "docs",
               "include_in_all" : false
            },
            "last_name" : {
               "type" : "string"
            },
            "role" : {
               "type" : "string"
            }
         }
     }
  }
}

Ik creëer toewijzing voor boeken met behulp van de opdracht

$ curl http://localhost:9200/books -X POST -d @mapping.json
=> {"ok":true,"acknowledged":true}

Maar wanneer ik alle toewijzingen opsomming, krijg ik:

$ curl -XGET http://localhost:9200/_mapping?pretty
=> { "books" : { },
   "development_users" : {
      "user" : {
         "properties" : {
            "email" : {
               "type" : "string"
            },
            "first_name" : {
               "type" : "string"
            },
            "id" : {
               "type" : "string",
               "index" : "not_analyzed",
               "omit_norms" : true,
               "index_options" : "docs",
               "include_in_all" : false
            },
            "last_name" : {
               "type" : "string"
            },
            "role" : {
               "type" : "string"
            }
         }
      }
   }
}

Waarom wordt de toewijzing voor boeken die worden gemaakt zoals opgegeven in het bestand mapping.json niet?


10
2017-10-07 06:52


oorsprong


antwoorden:


Probeer dit alsjeblieft,

curl -XPUT 'http://localhost:9200/<indexname>/book/_mapping' -d @mapping.json

13
2017-10-07 11:25



opdracht 

curl -XPUT localhost:9200/_template/logstash -d @/Users/template.json   

antwoord 

{"acknowledged":true}

3
2017-12-02 19:42



Op AWS kreeg ik een foutmelding

{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}

Om het te repareren heb ik toegevoegd

-H 'Content-Type: application/json'

2
2018-01-08 21:59