我想设置映射,以便float类型的任何未知字段自动获得属性index = false。
我使用了以下请求:
PUT /myindex/_mapping/mytype
{
"dynamic_templates": [
{ "quantity": {
"match": "*",
"match_mapping_type": "float",
"mapping": {
"index": "false"
}
}}
],
"properties": {
"ELEMENT_ID": {
"type": "long",
"index": "true"
},
"ELEMENT_TYPE": {
"type": "keyword",
"index": "true"
}
}
}
然而,未知字段仍然可搜索:
GET /myindex/mytype/_search
{
"query": {
"term": { "FEEDBACK_I": "0.8202897" }
}
}
有可能实现这个目标吗?
谢谢!
答案 0 :(得分:1)
我建议使用这种方法(ES更有可能将您的浮点数与double
匹配)。而且,index
属性在1.x和2.x中的允许值为no
,在5.x中的true
/ false
允许值为
PUT /myindex/mytype/_mapping
{
"mytype": {
"dynamic_templates": [
{
"quantity": {
"match": "*",
"match_mapping_type": "double",
"mapping": {
"type": "double",
"index": "no"
}
}
},
{
"quantity_float": {
"match": "*",
"match_mapping_type": "float",
"mapping": {
"type": "float",
"index": "no"
}
}
}
]
}
}