mapping - ElasticSearch 映射 Charfilter

标签 mapping elasticsearch

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

(安迪)

据我所知,如果我执行映射字符过滤器并将括号更改为下划线,这将完成我所追求的目标。

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

当我运行上面的代码时,出现以下错误:

{"error":"ElasticSearchParseException[无法解析创建索引的源];嵌套:JsonParseException[意外字符('}'(代码 125)):需要有效的名称字符(对于不带引号的名称)或双- quote(用于引用)在 [来源:[B@70de7f1b;行:15,列:14]] 处开始字段名称\n;","status":400}

最佳答案

仔细重读错误消息。它包含您解决此问题所需的所有信息。基本上,第 14 行有一个额外的逗号,因此解析器希望它后面跟一个名称,而不是在第 15 行第 14 列上得到“}”。

关于mapping - ElasticSearch 映射 Charfilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16002588/

相关文章:

json - Entity Framework : How to map a complex object to a single varchar column (i. e。以序列化形式保存)?

elasticsearch - 麋鹿。找不到嵌套值

elasticsearch - 创建索引时,定义索引映射时 '_doc'有什么意义?

javascript - 迭代多个强类型映射之一时避免使用 TypeScript "never"

mapping - Elasticsearch中的默认数据类型映射

elasticsearch - 在Kibana仪表板中无法查看Kubernetes日志

elasticsearch - Elasticsearch,从不将字段解析为对象

elasticsearch - Elasticsearch/Kibana 中两个聚合列的计算列?

elasticsearch - 映射弹性中的 geo_point 字段数组

python - 在 Pandas 中将索引值从一个数据框映射到另一个数据框