弹性搜索如何忽略映射中的字段
Elastic search how to ignore a field in mapping
我正在尝试在弹性搜索中创建一个映射以忽略传入数据中的一个字段。我正在关注这里的文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-object-type.html#_enabled_3
看起来启用的 属性 正是我所需要的,但我没有得到想要的结果。
这是我的映射
PUT /comtest
{
"mappings": {
"ftype": {
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "long"
},
"c":
{
"type" : "object",
"enabled" : false
},
"d": {
"type": "string"
},
"e": {
"type": "string"
},
"f": {
"type": "boolean"
},
"g": {
"type": "string"
},
"h": {
"type": "string"
},
"i": {
"type": "long"
},
"j": {
"type": "string"
},
"k": {
"type": "long"
},
"l": {
"type": "date"
},
"m": {
"type": "string"
},
"n": {
"type": "string"
},
"o": {
"type": "string"
},
"p": {
"type": "string"
}
}
}
}
}
这是我的数据
put /comtest/t/1
{
"a": "cdcwc",
"b": 1,
"c": {
"6": 22,
"322": [
444,
"ew",
"fwefwe."
]
},
"d": null,
"e": "svgerbgerb",
"f": false,
"g": "rethrt",
"h": null,
"i": 55,
"j": null,
"k": null,
"l": null,
"m": "dasd",
"n": 88,
"o": "1",
"p": "asas"
}
我收到以下错误
{
"error": "MapperParsingException[failed to parse [FIXMessage.448]]; nested: NumberFormatException[For input string: \"ew\"]; ",
"status": 400
}
为什么没有忽略该字段?
注:
我也试过以下属性
"store":假,
"include_in_all":错误,
"index":"no"
但没有效果。
因为您已经为类型 ftype
定义了映射并且您正在为类型 t
建立索引。
将添加的文档类型更改为ftype
as :
put /comtest/ftype/1
{
"a": "cdcwc",
"b": 1,
"c": {
"6": 22,
"322": [
444,
"ew",
"fwefwe."
]
},
"d": null,
"e": "svgerbgerb",
"f": false,
"g": "rethrt",
"h": null,
"i": 55,
"j": null,
"k": null,
"l": null,
"m": "dasd",
"n": 88,
"o": "1",
"p": "asas"
}
或将映射中的 type
更改为 t
为:
PUT /comtest
{
"mappings": {
"t": {
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "long"
},
"c":
{
"type" : "object",
"enabled" : false
},
"d": {
"type": "string"
},
"e": {
"type": "string"
},
"f": {
"type": "boolean"
},
"g": {
"type": "string"
},
"h": {
"type": "string"
},
"i": {
"type": "long"
},
"j": {
"type": "string"
},
"k": {
"type": "long"
},
"l": {
"type": "date"
},
"m": {
"type": "string"
},
"n": {
"type": "string"
},
"o": {
"type": "string"
},
"p": {
"type": "string"
}
}
}
}
}
我正在尝试在弹性搜索中创建一个映射以忽略传入数据中的一个字段。我正在关注这里的文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-object-type.html#_enabled_3
看起来启用的 属性 正是我所需要的,但我没有得到想要的结果。
这是我的映射
PUT /comtest
{
"mappings": {
"ftype": {
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "long"
},
"c":
{
"type" : "object",
"enabled" : false
},
"d": {
"type": "string"
},
"e": {
"type": "string"
},
"f": {
"type": "boolean"
},
"g": {
"type": "string"
},
"h": {
"type": "string"
},
"i": {
"type": "long"
},
"j": {
"type": "string"
},
"k": {
"type": "long"
},
"l": {
"type": "date"
},
"m": {
"type": "string"
},
"n": {
"type": "string"
},
"o": {
"type": "string"
},
"p": {
"type": "string"
}
}
}
}
}
这是我的数据
put /comtest/t/1
{
"a": "cdcwc",
"b": 1,
"c": {
"6": 22,
"322": [
444,
"ew",
"fwefwe."
]
},
"d": null,
"e": "svgerbgerb",
"f": false,
"g": "rethrt",
"h": null,
"i": 55,
"j": null,
"k": null,
"l": null,
"m": "dasd",
"n": 88,
"o": "1",
"p": "asas"
}
我收到以下错误
{
"error": "MapperParsingException[failed to parse [FIXMessage.448]]; nested: NumberFormatException[For input string: \"ew\"]; ",
"status": 400
}
为什么没有忽略该字段?
注:
我也试过以下属性
"store":假, "include_in_all":错误, "index":"no"
但没有效果。
因为您已经为类型 ftype
定义了映射并且您正在为类型 t
建立索引。
将添加的文档类型更改为ftype
as :
put /comtest/ftype/1
{
"a": "cdcwc",
"b": 1,
"c": {
"6": 22,
"322": [
444,
"ew",
"fwefwe."
]
},
"d": null,
"e": "svgerbgerb",
"f": false,
"g": "rethrt",
"h": null,
"i": 55,
"j": null,
"k": null,
"l": null,
"m": "dasd",
"n": 88,
"o": "1",
"p": "asas"
}
或将映射中的 type
更改为 t
为:
PUT /comtest
{
"mappings": {
"t": {
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "long"
},
"c":
{
"type" : "object",
"enabled" : false
},
"d": {
"type": "string"
},
"e": {
"type": "string"
},
"f": {
"type": "boolean"
},
"g": {
"type": "string"
},
"h": {
"type": "string"
},
"i": {
"type": "long"
},
"j": {
"type": "string"
},
"k": {
"type": "long"
},
"l": {
"type": "date"
},
"m": {
"type": "string"
},
"n": {
"type": "string"
},
"o": {
"type": "string"
},
"p": {
"type": "string"
}
}
}
}
}