使用完成建议器的 ElasticSearch 自动完成 Return 完整文档

ElasticSeach Auto Complete using Completion suggester to Return the Complete Document

我正在为我们的一个自动完成文本框使用 Elastic 搜索的完成建议器。我想知道是否可以使用 Completion suggester return 文档而不是字符串(建议)?

例如。现在,如果我搜索 "Ban",它将 return "Banana"、"Bandana"。只是字符串,但是否可以 return 字符串所属的完整文档?

如果我在同一字段上编写普通的全文查询,是否会针对自动完成进行优化?

当我尝试 运行 原始弹性搜索完成查询时。我得到的是完整的文档而不是建议的字符串 -

文档 Link : https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html#querying

我用过的查询-

POST /my_entities/_search?pretty
{
    "suggest": {
        "auto-suggest" : {
            "prefix" : "banda", 
            "completion" : { 
                "field" : "name" 
            }
        }
    }
}.

以上原始查询 returned 以下来源(仅粘贴输出的来源)-

{
   "_source":{
      "entityType":"cloth",
      "entityId":"bandana",
      "name":"Bandana",
   }
} 

Completion suggester 不会 return 整个文档,因为它只是一个建议器,不像全文搜索那样 return 是整个文档。

Completion suggester 将 return 整个文档作为建议的一部分。您可以在查询时使用源来控制要 returned 的所有键。

请参阅此 link 以获取有关如何使用 Java 客户端 API.

提取源字段的信息

如果你想要整个文档,那么你可以在全文中实现自动提示,有多种方法。

您还可以参考 以了解有关构建自动完成功能和非功能要求的更多信息。