`inner_hits`是 Elasticsearch 中的一个功能,用于在搜索结果中嵌套显示与主查询相关的子查询结果。它通常与嵌套字段(`nested`fields)、父子关系(`parent-child`)或压缩(`collapse`)功能结合使用,用于提供更丰富的上下文信息或展示与主文档相关的详细子文档。
1.在压缩(Collapse)中的作用
在压缩功能中,`inner_hits`用于展开每个压缩后的顶级文档,展示与该压缩键相关的所有子文档。
场景举例:
假设你按`user.id`对搜索结果进行压缩,但你希望在每个用户下展示与该用户相关的多个文档(例如最近的5条记录或响应字节数最大的3条记录),就可以使用`inner_hits`来实现。
示例:
```json
{
"query": {
"match": {
"message": "GET /search"
}
},
"collapse": {
"field": "user.id",
"inner_hits": {
"name": "most_recent", // 定义一个名称,用于标识这个 inner_hits
"s