空值为 Elasticsearch 完成建议字段生成 mapper_parsing_exception
Empty value generates mapper_parsing_exception for Elasticsearch completion suggester field
我有一个 name
字段,它是一个完成建议器,索引生成一个 mapper_parsing_exception
错误,说明 value must have a length > 0
.
该字段中确实存在一些空值。我该如何容纳他们?
ignore_malformed
在 properties
或 index
级别没有任何效果。
我尝试在分析器中过滤掉空字符串,设置最小长度:
PUT /genes
{
"settings": {
"analysis": {
"filter": {
"remove_empty": {
"type": "length",
"min": 1
}
},
"analyzer": {
"keyword_lowercase": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"remove_empty"
]
}
}
}
},
"mappings": {
"gene": {
"name": {
"type": "completion",
"analyzer": "keyword_lowercase"
}
}
}
}
}
或者将空字符串过滤为停用词:
"remove_empty": {
"type": "stop",
"stopwords": [""]
}
尝试将过滤器应用于名称映射会生成不受支持的参数错误:
"mappings": {
"gene": {
"name": {
"type": "completion",
"analyzer": "keyword_lowercase",
"filter": "remove_empty"
}
}
}
}
这确实感觉应该很简单。有办法吗?
谢谢!
我有一个 name
字段,它是一个完成建议器,索引生成一个 mapper_parsing_exception
错误,说明 value must have a length > 0
.
该字段中确实存在一些空值。我该如何容纳他们?
ignore_malformed
在 properties
或 index
级别没有任何效果。
我尝试在分析器中过滤掉空字符串,设置最小长度:
PUT /genes
{
"settings": {
"analysis": {
"filter": {
"remove_empty": {
"type": "length",
"min": 1
}
},
"analyzer": {
"keyword_lowercase": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"remove_empty"
]
}
}
}
},
"mappings": {
"gene": {
"name": {
"type": "completion",
"analyzer": "keyword_lowercase"
}
}
}
}
}
或者将空字符串过滤为停用词:
"remove_empty": {
"type": "stop",
"stopwords": [""]
}
尝试将过滤器应用于名称映射会生成不受支持的参数错误:
"mappings": {
"gene": {
"name": {
"type": "completion",
"analyzer": "keyword_lowercase",
"filter": "remove_empty"
}
}
}
}
这确实感觉应该很简单。有办法吗?
谢谢!