使 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 标签。请查看以下有关突出显示的文档。
我正在使用弹性查询搜索来查询我的数据库。
在我的数据库中会有不同的对象,每个对象都有 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 标签。请查看以下有关突出显示的文档。