无法在弹性5.6

时间:2017-10-11 05:41:04

标签: elasticsearch mapping

您好我之前使用的是弹性版本1.6,并为索引进行了映射,如下所示

// jarSetup.json

mappings": {
 "jardata": {
   "properties": {
     "groupID": {
      "index": "not_analyzed",
      "type": "string"
      },
     "artifactID": {
     "index": "not_analyzed",
     "type": "string"
      },
      "directory": {
      "type": "string"
      },
      "jarFileName": {
      "index": "not_analyzed",
      "type": "string"
      },
      "version": {
      "index": "not_analyzed",
      "type": "string"
      }
    }
  }
} 

我运行命令curl -XPOST http://localhost:9200/testjar -d @jarSetup.json来进行映射。它在弹性版1.6中运行良好。但是当我在5.6版本中尝试完全相同的东西时,它给了我一个错误

No handler found for uri [/testjardata] and method [POST]

我无法弄清问题是什么。如果有人对此有所了解,请帮助我。

1 个答案:

答案 0 :(得分:1)

创建索引时需要使用PUT方法

curl -XPUT http://localhost:9200/testjar -d @jarSetup.json

此外,已分析的字符串字段现在称为text,未分析的字符串字段称为keyword,因此您的jarSetup.json文件应如下所示:

mappings": {
 "jardata": {
   "properties": {
     "groupID": {
      "type": "keyword"
      },
     "artifactID": {
     "type": "keyword"
      },
      "directory": {
      "type": "text"
      },
      "jarFileName": {
      "type": "keyword"
      },
      "version": {
      "type": "keyword"
      }
    }
  }
}