elasticsearch Elasticsearch 5.x没有自动删除不带';是否符合基于特定类型的(给定映射)?
Elasticsearch文档()说明以下内容: 默认情况下,当在文档中找到以前未看到的字段时, Elasticsearch将向类型映射添加新字段 因此,如果我们创建一个文档(之前没有索引/类型映射),如下所示:elasticsearch Elasticsearch 5.x没有自动删除不带';是否符合基于特定类型的(给定映射)?,elasticsearch,types,schema,elasticsearch,Types,Schema,Elasticsearch文档()说明以下内容: 默认情况下,当在文档中找到以前未看到的字段时, Elasticsearch将向类型映射添加新字段 因此,如果我们创建一个文档(之前没有索引/类型映射),如下所示: curl -X POST 'http://localhost:9200/my_index/food/1' -d \ '{ "name": "pie", "delicious": true, "age": 100.5 }' 将自动发现类型,并且索引my_index中类型fo
curl -X POST 'http://localhost:9200/my_index/food/1' -d \
'{
"name": "pie",
"delicious": true,
"age": 100.5
}'
将自动发现类型,并且索引my_index
中类型food
的映射将变为:
{
"my_index": {
"mappings": {
"food": {
"properties": {
"age": { "type": "float" },
"delicious": { "type": "boolean" },
"name": {
"type": "text",
"fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }
}
}
}
}
}
}
如果我尝试将新文档添加到索引/键入其中一个字段值的my_index/food
违反了映射规范的“约定”,然后我发现elasticsearch返回一个
错误并拒绝为有问题的文档编制索引
curl -X POST 'http://localhost:9200/my_index/food/2' -d \
'{
"name": "goat",
"delicious": false,
"age": true
}'
导致:
mapper_parsing_exception","reason":"failed to parse [age]"}],"type":"mapper_parsing_exception","reason":"failed to parse [age]","caused_by":{"type":"json_parse_exception","reason":"Current token (VALUE_TRUE) not numeric, can not use numeric value accessors\n
我的问题是:有没有办法配置弹性搜索,以便
索引此文档:{“name”:“goat”,“delicious”:false,“age”:true}
只需删除(键入不正确的)字段“age”,并对给定文档的其余部分编制索引,如下所示:
'{ "name": "goat", "delicious": false}'
我猜没有可用的搜索功能,但我想检查一下。提前谢谢 我对ElasticSearch非常陌生,+5.x分支更是如此,但在阅读了您的问题后,我偶然发现了
ignore\u格式错误的
映射参数
有时,您对接收到的数据没有太多控制权。一个用户可以发送一个作为日期的登录字段,另一个用户可以发送一个作为电子邮件地址的登录字段
尝试将错误的数据类型索引到字段中会在默认情况下引发异常,并拒绝整个文档。ignore_格式错误的参数如果设置为true,则允许忽略异常。格式错误的字段未编制索引,但文档中的其他字段处理正常。
这最后一个细节似乎描述了您的用例,但不确定,本周您已经呼出了太多的焊料烟雾
以下是文件:
看起来非常适合我的需要。焊料烟雾显然有帮助;^)如果胶水用完了,我应该试试。thnx!