elasticsearch 验证失败:1:缺少映射类型;弹性搜索
我很抱歉,这也是一个错误。 作为这个问题的答案,我正在尝试设置正确的url来放置索引映射,但在我的实例上不起作用:
elasticsearch 验证失败:1:缺少映射类型;弹性搜索,
elasticsearch,lucene,
elasticsearch,Lucene,我很抱歉,这也是一个错误。 作为这个问题的答案,我正在尝试设置正确的url来放置索引映射,但在我的实例上不起作用: $ cat mapping.json | http PUT myhost:9200/acastest/_mapping 结果: HTTP/1.1 400 Bad Request Content-Length: 247 Content-Type: application/json; charset=UTF-8 { "error": { "reason":
$ cat mapping.json | http PUT myhost:9200/acastest/_mapping
结果:
HTTP/1.1 400 Bad Request
Content-Length: 247
Content-Type: application/json; charset=UTF-8
{
"error": {
"reason": "Validation Failed: 1: mapping type is missing;",
"root_cause": [
{
"reason": "Validation Failed: 1: mapping type is missing;",
"type": "action_request_validation_exception"
}
],
"type": "action_request_validation_exception"
},
"status": 400
}
试着这样做:
$ cat mapping.json | http PUT myhost:9200/acastest/articles/_mapping
结果:
HTTP/1.1 400 Bad Request
Content-Length: 3969
Content-Type: application/json; charset=UTF-8
{
"error": {
"reason": "Root mapping definition has unsupported parameters: [mappings : {articles={properties={category_en={type=string, index=not_analyzed},blah blah blah",
"root_cause": [
{
"reason": "Root mapping definition has unsupported parameters: [mappings : {articles={properties={category_en={type=string, index=not_analyzed}, category_fa={blahblah blah",
"type": "mapper_parsing_exception"
}
],
"type": "mapper_parsing_exception"
},
"status": 400
}
Elasticsearch配置:
"version": {
"number": "2.1.1",
"build_hash": "40e2c53a6b6c2972b3d13846e450e66f4375bd71",
"build_timestamp": "2015-12-15T13:05:55Z",
"build_snapshot": false,
"lucene_version": "5.3.1"
},
我的映射文件如下所示:
{
"mappings": {
"articles": {
"properties": {
"category_en": {
"type": "string",
"index": "not_analyzed"
},
"category_fa": {
"type": "string",
"index": "not_analyzed"
},
blah
blah
blah
}
}
}
}
{
"articles": {
"properties": {
"category_en": {
"type": "string",
"index": "not_analyzed"
},
"category_fa": {
"type": "string",
"index": "not_analyzed"
},
blah
blah
blah
}
}
}
要查看完整的映射文件,请选中
如何修复它?您有两种解决方案: 如果你想跑步
$ cat mapping.json | http PUT myhost:9200/acastest/articles/_mapping
您需要更改mapping.json
文件,如下所示:
{
"mappings": {
"articles": {
"properties": {
"category_en": {
"type": "string",
"index": "not_analyzed"
},
"category_fa": {
"type": "string",
"index": "not_analyzed"
},
blah
blah
blah
}
}
}
}
{
"articles": {
"properties": {
"category_en": {
"type": "string",
"index": "not_analyzed"
},
"category_fa": {
"type": "string",
"index": "not_analyzed"
},
blah
blah
blah
}
}
}
B.或者您可以像现在一样保留mapping.json
文件,但是您需要运行以下命令:
$ cat mapping.json | http PUT myhost:9200/acastest
我的解决方案:
将URL更改为:
http://myhost:9200/acastest/_mapping/articles
将mapping.json
更改为:
{
"articles": {
"properties": {
"category_en": {
"type": "string",
"index": "not_analyzed"
},
"category_fa": {
"type": "string",
"index": "not_analyzed"
},
blah
blah
blah
}
}
}
您需要删除“mappings”
,并在mapping.json
文件的顶层添加“articles”
。