自动完成建议中的输出字段

时间:2016-12-26 17:11:54

标签: elasticsearch

当我想在elasticsearch索引文档时出现这个问题:

message [MapperParsingException[failed to parse]; nested: IllegalArgumentException[unknown field name [output], must be one of [input, weight, contexts]];]

我知道在版本5中从elasticsearch中删除了输出字段,但为什么?我需要做些什么来获得输入的单一结果?

2 个答案:

答案 0 :(得分:1)

在版本5中从ElasticSearch中删除了

output字段,现在_source归档了该建议。示例如下所示。

<强>映射

{
    "user": {
        "properties": {
            "name": {
                "type": "string"
            },
            "suggest": {
                "type": "completion",
                "analyzer": "simple",
                "search_analyzer": "simple"
            }
        }
    }
}

数据

{
    "id": "123",
    "name": "Abc",
    "suggest":
    {
        "input": "Abc::123"
    },
    "output": "Abc::123"
}

<强>查询

POST - http://localhost:9200/user * / _建议?漂亮

{
"type-suggest": {
    "text": "Abc",
    "completion": {
        "field": "suggest"
    }
  }
}

答案 1 :(得分:0)

弹性提到以下

  

由于建议是面向文档的,因此现在应将建议元数据(例如输出)指定为文档中的字段。删除索引建议条目时指定输出的支持。现在建议结果条目的文本始终是建议输入的未分析值(与在5.0之前的索引中索引建议时未指定输出相同)。

Source

更新

我能够从ES 5.1.1中的多个输入中获得单个输出。你可以找到答案here