【发布时间】:2016-05-21 09:45:33
【问题描述】:
我有这个工作正常的弹性搜索查询,但我无法将它完全转换为 PHP 关联数组。
POST /index/type/_search
{
"fields": [
"url"
],
"query": {
"query_string": {
"default_field": "content.content",
"query": "german"
}
},
"highlight": {
"fields": {
"content.content": {}
}
}
}
上述POST 中的fields 和highlight 部分如何在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);
【问题讨论】:
-
'fields' => [0=>'url']和'fields' => ['content.content'=> '']。试试看 -
谢谢!它几乎可以工作,错误消失了,但在 Elastic 的响应中,没有突出显示部分。也许是一个单独的问题?
-
因为你的高亮部分没有价值,所以没有高亮部分
-
当我使用 Sense Chrome 插件尝试
POST时,一个空的highlight部分返回了突出显示的搜索词。
标签: php post elasticsearch associative-array