ElasticSearch不接受PUT命令到特定路由

时间:2015-11-19 12:42:04

标签: elasticsearch

我尝试在使用ElasticSearch的本地计算机上实现rails应用程序。所以我安装并使用此命令为应用程序设置ElasticSearch:

curl -XPUT "http://localhost:9200/dev-contacts-v3/_mapping" -d ' { "mappings" : { "_default_" : { "properties" : { " pin" : { "properties" : { "location" : { "type" : "geo_point" } } } } } } } '

但是它返回一个错误: {"error":"ActionRequestValidationException[Validation Failed: 1: mapping type is missing;]","status":400}

我意识到只有当我使用带有此{@ 1}}下划线的路线"http://localhost:9200/dev-contacts-v3/_mapping"时才会发生错误。

有没有人知道这个错误的原因?

1 个答案:

答案 0 :(得分:1)

_mapping函数允许您查看给定索引的现有映射。如果要为新索引定义映射,可以使用索引url:

放置映射
PUT /dev-contacts-v3
{
   "mappings": {
      "_default_": {
         "properties": {
            "pin": {
               "properties": {
                  "location": {
                     "type": "geo_point"
                  }
               }
            }
         }
      }
   }
}

要查看索引的映射:

GET /dev-contacts-v3/_mapping

在与mappings相同的级别上,您可以指定settings,其中描述可用于映射的filtersanalyzers等。