AWS 亚马逊云搜索表达式定义使用 PHP API

AWS Amazon Cloud Search Expression Definition using PHP API

我 运行 通过官方 AWS 云搜索 API 处理表达式定义的一些问题。

文档中的代码示例被破坏并且实际上没有显示 API 实际期望的内容:

https://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.CloudSearchDomain.CloudSearchDomainClient.html#_search

经过多次试验,我找到了通过 PHP API.

定义表达式的正确格式

希望这能为其他人节省一些时间。

因此,用于表达式编写的通用 AWS Cloud Search 文档将显示如下内容:

expr.score_by_date=_score*(_time - publish_date)

然后您在这样的搜索中使用它:

search?q=terminator& expr.score_by_date=_score*(_time - publish_date)&sort=score_by_date desc

但在 API 中,您需要将其定义为传递给 CloudSearchDomainClient class 中的搜索方法的参数 class。

$search_args 是搜索方法接受的各种参数的数组。

$search_args['expr'] = '{score_by_date: "_score*(_time - post_date)"}';

然后您修改排序参数以匹配如下:

$search_args['sort'] = 'score_by_date desc';