我正在使用弹性搜索的PHP客户端(5.2.0)并且无法获取inner_hits结果,这是我的PHP查询(不返回inner_hits)
$params = [
'index' => 'caption_index',
'type' => 'caption',
'body' => [
'query' => [
'nested' => [
'path' => 'lines',
'query' => [
'bool' => [
'must' => [
['match' => ['lines.content' => 'Totally different text' ]]
]
]
],
'inner_hits' => [ ]
]
]
],
'client' => [ 'ignore' => 404 ]
];
$results = $client->search($params);
同时我在Kibana上运行相同的请求,我确实得到了正确的答案
GET /caption_index/caption/_search
{
"query": {
"nested" : {
"path" : "lines" ,
"query": {
"bool" : {
"must": [
{
"match" :
{ "lines.content" : "Totally different text" }
}
]
}
},
"inner_hits" : {}
}
}
}
知道有什么区别以及为什么PHP不会显示结果?
我可以附上当前的结果,但在这种情况下似乎有点矫枉过正 - 相信我 - 内部命中不存在
答案 0 :(得分:0)
我遇到了与ES PHP API相同的问题,通过在inner_hits
数组中包含一个参数来实现它。
例如:
'inner_hits' => ['name' => 'any-name']
您可以找到允许的参数here。