ElasticSearch Mapping Charfilter

时间:2013-04-14 18:14:21

标签: mapping elasticsearch

我的目标是能够搜索带有括号的单词,例如:

(安迪)

据我所知,如果我使用Mapping Charfilter并将括号更改为下划线,这将完成我所追求的目标。

    "index" : {
        "analysis" : {
            "char_filter" : {
                "my_mapping" : {
                    "type" : "mapping",
                    "mappings" : ["( => _", ") => _"]
                }
            },
            "analyzer" : {
                "custom_with_char_filter" : {
                    "tokenizer" : "standard",
                    "char_filter" : ["my_mapping"]
                },
            }
        }
    }
}';

当我运行上述内容时,我收到以下错误:

{“error”:“ElasticSearchParseException [无法解析创建索引的源代码];嵌套:JsonParseException [意外字符('}'(代码125)):期望有效的名称字符(对于不带引号的名称)或双 - 引用(引用)在[来源:[B @ 70de7f1b;第15行,第14列]];“,”状态“:400}

开始字段名称\ n

1 个答案:

答案 0 :(得分:4)

仔细阅读错误消息。它具备了解决这一问题所需的所有信息。基本上,你在第14行有一个额外的逗号,所以解析器期望它后跟一个名字,而不是在第15行第14行得到'}'。