elasticsearch 验证失败:1:缺少映射类型;弹性搜索,elasticsearch,lucene,elasticsearch,Lucene" /> elasticsearch 验证失败:1:缺少映射类型;弹性搜索,elasticsearch,lucene,elasticsearch,Lucene" />

elasticsearch 验证失败:1:缺少映射类型;弹性搜索

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":

我很抱歉,这也是一个错误。 作为这个问题的答案,我正在尝试设置正确的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": "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”