gpt4 book ai didi

php - 如何在Elasticsearch PHP中执行前缀查询?

转载 作者:行者123 更新时间:2023-12-02 23:35:20 26 4
gpt4 key购买 nike

我想在PHP中使用以下JSON查询:

{
"match_phrase" : {
"message" : {
"query" : "this is a test",
"analyzer" : "my_analyzer"
}
}
}

现在我有PHP代码:
 $params['body']['query']['match_phrase'] = array(
"name" => $query
);

$this->result = $this->client->search($params);

如何根据elasticsearch php在php数组查询中转换JSON查询?

最佳答案

一种方法是这样的:

$params['body']['query']['match_phrase'] = array(
"message" => array(
"query" => $query,
"analyzer" => "my_analyzer"
)
);

$this->result = $this->client->search($params);

使用Elasticsearch时可能更好的另一种方法是使用 json_decode 函数。这样一来,您可以轻松地使用JSON编写查询
查询DSL,而无需通过关联数组构造DSL。
$json = '{
"match_phrase" : {
"message" : {
"query" : "' . $query . '",
"analyzer" : "my_analyzer"
}
}
}';
$params['body']['query'] = json_decode($json);
$this->result = $this->client->search($params);

关于php - 如何在Elasticsearch PHP中执行前缀查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755424/

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