【问题标题】:mapper_parsing_exception in new elasticsearch 2.1.1 version新的 elasticsearch 2.1.1 版本中的 mapper_parsing_exception
【发布时间】:2016-04-07 05:08:20
【问题描述】:

问题:我已经创建了映射并且它在 elasticsearch 中工作正常 1.7.1 但更新到 2.1.1 后它会给我例外

例外

  response: '{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason"
:"analyzer on field [_all] must be set when search_analyzer is set"}],"type":"ma
pper_parsing_exception","reason":"Failed to parse mapping [movie]: analyzer on f
ield [_all] must be set when search_analyzer is set","caused_by":{"type":"mapper
_parsing_exception","reason":"analyzer on field [_all] must be set when search_a
nalyzer is set"}},"status":400}',
  toString: [Function],
  toJSON: [Function] }

{
    "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 0,
        "analysis": {
            "filter": {
                "nGram_filter": {
                    "type": "nGram",
                    "min_gram": 2,
                    "max_gram": 20,
                    "token_chars": [
                        "letter",
                        "digit",
                        "punctuation",
                        "symbol"
                    ]
                }
            },
            "analyzer": {
                "nGram_analyzer": {
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "filter": [
                        "lowercase",
                        "asciifolding",
                        "nGram_filter"
                    ]
                },
                "whitespace_analyzer": {
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "filter": [
                        "lowercase",
                        "asciifolding"
                    ]
                }
            }
        }
    },
    "mappings": {
        "movie": {
            "_all": {
                "index_analyzer": "nGram_analyzer",
                "search_analyzer": "whitespace_analyzer"
            },
            "properties": {
                "movieName": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "movieYear": {
                    "type": "double"
                },
                "imageUrl": {
                    "type": "string"
                },
                "genre": {
                    "type": "string"
                },
                "director": {
                    "type": "string"
                },
                "producer": {
                    "type": "string"
                },
                "cast": {
                    "type": "String"
                },
                "writer": {
                    "type": "string"
                },
                "synopsis": {
                    "type": "string"
                },
                "rating": {
                    "type": "double"
                },
                "price": {
                    "type": "double"
                },
                "format": {
                    "type": "string"
                },
                "offer": {
                    "type": "double"
                },
                "offerString": {
                    "type": "string"
                },
                "language": {
                    "type": "string"
                }
            }
        }
    }
}

【问题讨论】:

    标签: node.js elasticsearch mongoosastic


    【解决方案1】:

    如果你问我这个错误很清楚,你需要在你的电影映射中为_all 指定analyzer。在Elasticsearch 2.0 中删除了设置index_analyzer

            "_all": {
                "analyzer": "nGram_analyzer",
                "search_analyzer": "whitespace_analyzer"
            },
    

    【讨论】:

    • 那么什么是 index_analyzer ?你能告诉我吗
    • 在 2.0 之前的 Elasticsearch 中,您可以设置index_analyzersearch_analyzer 或简单地设置analyzer。最后一个是将index_analyzersearch_analyzer 设置为相同值的简写。在 Elasticsearch 2.0 中,他们将其更改为 index_analyzer 现在只是 analyzer,如果您不设置单独的 search_analyzer,则 analyzer 的值也用于此目的。
    猜你喜欢
    • 2019-07-18
    • 1970-01-01
    • 2018-12-03
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 2017-02-24
    相关资源
    最近更新 更多