elasticsearch 空值为Elasticsearch completion suggester字段生成mapper_parsing_异常,elasticsearch,filter,autosuggest,completion,elasticsearch,Filter,Autosuggest,Completion" /> elasticsearch 空值为Elasticsearch completion suggester字段生成mapper_parsing_异常,elasticsearch,filter,autosuggest,completion,elasticsearch,Filter,Autosuggest,Completion" />

elasticsearch 空值为Elasticsearch completion suggester字段生成mapper_parsing_异常

elasticsearch 空值为Elasticsearch completion suggester字段生成mapper_parsing_异常,elasticsearch,filter,autosuggest,completion,elasticsearch,Filter,Autosuggest,Completion,我有一个name字段,它是一个完成建议器,索引生成一个mapper\u parsing\u异常错误,说明值的长度必须大于0 此字段中确实存在一些空值。我如何适应他们 ignore\u格式不正确的在属性或索引级别均无效 我尝试在分析器中过滤空字符串,设置最小长度: PUT /genes { "settings": { "analysis": { "filter": { "remove_empty": { "type": "length",

我有一个
name
字段,它是一个完成建议器,索引生成一个
mapper\u parsing\u异常
错误,说明
值的长度必须大于0

此字段中确实存在一些空值。我如何适应他们

ignore\u格式不正确的
属性
索引
级别均无效

我尝试在分析器中过滤空字符串,设置最小长度:

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"
        }
      }
    }
}
这确实让人觉得应该很简单。有办法做到这一点吗


谢谢

我也面临同样的问题。经过一些研究,我认为目前唯一的选择是在索引之前更改数据(例如,用一些虚拟非空值替换空值)

但也有好消息。这是GitHub上的一期,大约是一个月前。计划以6.4.0版发布