我的目标是能够搜索带有括号的单词,例如:
(安迪)
据我所知,如果我使用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答案 0 :(得分:4)
仔细阅读错误消息。它具备了解决这一问题所需的所有信息。基本上,你在第14行有一个额外的逗号,所以解析器期望它后跟一个名字,而不是在第15行第14行得到'}'。