【发布时间】:2019-03-18 11:22:47
【问题描述】:
尝试使用 PHP cURL 实现对 Elasticsearch 索引的 jQuery/AJAX 即时搜索,该索引应按共享字段值对项目进行分组,并获取另一个字段值中可用的最低值。索引中的项目有 ID、名称、价格。几个项目将具有相同的 ID,名称略有不同,价格不同。搜索是针对名称字段的,并且应该将具有相同 ID 的项目分组,并获取最低价格(这是用于价格比较演示项目)。如何实现?我现在有以下内容,
... get search input $searchQuery with $_GET[] ...
$query = '{
"query" : {
"term" : { "name" : "'.$searchQuery.'" }
}
}';
... cURL request curl_setopt($ch, CURLOPT_POSTFIELDS, $query) ...
搜索正常,但显示名称与搜索输入匹配的所有项目,这就是我需要这样做的原因
- 按 ID 值分组(聚合?)
- 获取任何可用的或第一个可用的名称
- 获取分组商品的最低价格
...在搜索结果中仅显示一项,其中显示一项名称+最低可用价格。
这一切都可以用 ES 来完成,还是需要 PHP 来分组/获取必要的值?
谢谢
【问题讨论】:
标签: php elasticsearch curl