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

问题描述 投票:0回答:2

当我想在elasticsearch 中索引文档时,会发生此问题:

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

我知道输出字段在版本 5 中从 elasticsearch 中删除了,但为什么呢?我必须做什么才能获得输入的单一结果?

elasticsearch
2个回答
1
投票

output
字段从版本 5 中的 ElasticSearch 中删除,现在
_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*/_suggest?pretty

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

1
投票

Elastic 提到以下内容

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

来源

更新

在 ES 5.1.1 中,我能够从多个输入获得单个输出。你可以在这里找到答案

© www.soinside.com 2019 - 2024. All rights reserved.