使 elasticsearch return 仅 field_names 匹配您的查询

Make elastic search return only field_names matchig my query

我正在使用弹性查询搜索来查询我的数据库。
在我的数据库中会有不同的对象,每个对象都有 field_names。
如果我提供任何关键字作为我的查询,我将获得所有具有任何 field_name 匹配我的查询的对象。这也包括该特定对象的其他 field_names。
我的问题是有什么方法可以检索只有 field_names 与我的查询匹配的对象。
示例说我的对象的属性是 ["first name", "last name", "city"]。假设我的对象 Obj1 的名字为 "ABC",我的对象 Obj2 的城市为 "ABC"。现在,当我给出任何查询字符串 "ABC" 时,结果应该与此类似。

{
  "results": [
    {
      "first_name": "ABC"
    },
    {
      "city": "ABC"
    }
  ],
  "result_count": 2,
  "cursor": "2"
}

欢迎提出任何建议。提前致谢

这是不可能的。如果您在不提供 selected 字段名称的情况下跨多个索引的所有字段进行搜索,则默认情况下,它将始终 return 匹配文档中可用的所有字段。更好的方法是将搜索限制为更有意义的 select 字段,并利用突出显示功能,以便您可以使用它来显示匹配的文本部分。

通过突出显示,您可以添加自定义 HTML/CSS 标签。请查看以下有关突出显示的文档。

https://www.elastic.co/guide/en/elasticsearch/reference/7.6/search-request-body.html#request-body-search-highlighting