gpt4 book ai didi

php - 弹性JSON查询到PHP关联数组和空对象

转载 作者:行者123 更新时间:2023-12-02 22:46:39 26 4
gpt4 key购买 nike

我有一个可以正常工作的 flex 搜索查询,但是我无法将其完全转换为PHP关联数组。

POST /index/type/_search
{
"fields": [
"url"
],
"query": {
"query_string": {
"default_field": "content.content",
"query": "german"
}
},
"highlight": {
"fields": {
"content.content": {}
}
}
}

上面的 fields中的 highlightPOST部分如何在PHP关联数组中表示?我在下面的尝试中,除了 /* ERROR */以外的所有方法都可以正常工作:
$params = [
'index' => $index_name,
'type' => 'type_name',
'body' => [
'fields' => 'url' /* ERROR */
'query' => [
'query_string' => [
'default_field' => 'content.content',
'query' => $search_term
]
],
'highlight' => [
'fields' => ['content.content'=> []] /* ERROR */
]
]
];

当然,使用上面的 $params,我将做:
$results = Elastic_PHP_client->search($params);

最佳答案

您在PHP中遇到了[]{}的区别问题。

如果在某个时候客户端做了json_encode,那么可以这样:

$params = [
'index' => $index_name,
'type' => 'type_name',
'body' => [
'fields' => ['url'],
'query' => [
'query_string' => [
'default_field' => 'content.content',
'query' => '$search_term' /* Be carefull, not interpolated */
]
],
'highlight' => [
'fields' => ['content.content'=> new stdClass] /* Will give you '{}' */
]
]
];

另请: https://stackoverflow.com/a/8595884/118593

关于php - 弹性JSON查询到PHP关联数组和空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35325397/

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