gpt4 book ai didi

具有内部命中的 Elasticsearch 部分字段

转载 作者:行者123 更新时间:2023-12-04 03:40:23 25 4
gpt4 key购买 nike

执行嵌套过滤器/查询时是否可以使用partial_fields参数?

例如,此查询将仅返回我从hits 中查找的字段:

{
"query": {
"filtered": {
"query": {
"ids": {
"type": "users",
"values": [
"111"
]
}
},
"filter": {
"nested": {
"path": "entitlements",
"filter": {
"bool": {
"must": [
{
"term": {
"program": "program-a"
}
}
]
}
},
"inner_hits": {
"size": 999
}
}
}
}
},
"partial_fields": {
"partial": {
"include": [
"entitlements.accountNumber",
"entitlements.name",
"entitlments.numbers"
]
}
}
}

但是 inner_hits 部分没有返回任何字段。

   "inner_hits": {
"entitlements": {
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "myGreatIndex",
"_type": "users",
"_id": "111",
"_nested": {
"field": "entitlements",
"offset": 0
},
"_score": 1,
"fields": {
"partial": [
{}
]
}
}
]
}
}
}

有没有办法将此应用于 inner_hits

最佳答案

inner_hits 部分,您可以使用 source filtering反而。 partial_fields 适用于外部命中,_source 适用于 inner_hits

所以你可以像这样指定你的inner_hits:

"inner_hits": {
"size": 999,
"_source": [
"accountNumber",
"name",
"numbers"
]
}

不过请注意,在您的 inner_hits 结果中,您仍然会得到一个空的 partial 数组,但是您需要的字段将显示在 中_source 部分。

同样值得注意的是,如果您使用非限定名称(见下文)指定您的 partial_fields,则部分字段将显示在您的 inner_hits 结果中,但不会 在外点击了。因此,您需要找出最适合您的方法。

"partial_fields": {
"partial": {
"include": [
"accountNumber",
"name",
"numbers"
]
}
}

关于具有内部命中的 Elasticsearch 部分字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33350940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com