amazon-web-services - 使用 PHP API 的 AWS Amazon Cloud Search 表达式定义
问题描述
我在通过官方 AWS Cloud Search API 进行表达式定义时遇到了一些问题。
文档中的代码示例被破坏了,实际上并没有显示 API 的实际期望:
解决方案
经过大量实验,我找到了通过 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 类中的搜索方法的参数。
$search_args
是搜索方法接受的各种参数的数组。
$search_args['expr'] = '{score_by_date: "_score*(_time - post_date)"}';
然后,您修改排序参数以匹配如下:
$search_args['sort'] = 'score_by_date desc';
推荐阅读
- android - 如何让与主循环器同步的处理程序等待更多数据
- ios - 由于缺少应用程序文件,jfxmobile 应用程序无法在 iphone 模拟器上安装
- mysql - 使用 codeigniter 从 db 获取数据并在视图中显示特定的数组索引
- python - How to train your own model in AWS Sagemaker?
- office365 - How to retrieve group content if you are not a member (you are Global Administrator)?
- angularjs - Replacements for isNullOrUndefined and isNumber utils methods after AngularJS v0.11.3 onwards
- python - Represent this Image django Model
- java - javax.persistence.PersistenceException:没有名为 aramis 的 EntityManager 的持久性提供程序
- sqlite - Linq2db for SQLite - Xamarin form
- kotlin - 如何使用 kotlin 协程并行运行两个作业但等待另一个作业完成