使用 CLI returns 无效 Javascript 对象错误的 AWS CloudSearch 请求
AWS CloudSearch request using CLI returns Invalid Javascript Object error
我正在尝试在 Ubuntu 上使用 AWS CLI 查询我的 AWS Cloudsearch (2013 API) 域。当搜索仅限于特定字段时,我无法让它成功运行。以下查询:
aws --profile myprofile cloudsearchdomain search
--endpoint-url "https://search-mydomain-abc123xyz.eu-west-1.cloudsearch.amazonaws.com"
--query-options {"fields":["my_field"]}
--query-parser "simple"
--return "my_field"
--search-query "foo bar"
...returns 出现以下错误:
An error occurred (SearchException) when calling the Search operation: q.options contains invalid javascript object
如果我从上面的查询中删除 --query-options
参数,那么它就可以工作了。来自 AWS CLI docs 关于 --query-options
参数的 fields
选项:
An array of the fields to search when no fields are specified in a search... Valid for: simple , structured , lucene , and dismax
aws cli 版本:
aws-cli/1.11.150 Python/2.7.12 Linux/4.10.0-28-generic botocore/1.7.8
我认为文档有点误导,因为 JSon 不喜欢在双引号内嵌入双引号,您需要用单引号替换为
--query-options "{'fields':['my_field']}"
或者你可以转义双引号
--query-options "{\"fields\":[\"my_field\"]}"
我正在尝试在 Ubuntu 上使用 AWS CLI 查询我的 AWS Cloudsearch (2013 API) 域。当搜索仅限于特定字段时,我无法让它成功运行。以下查询:
aws --profile myprofile cloudsearchdomain search
--endpoint-url "https://search-mydomain-abc123xyz.eu-west-1.cloudsearch.amazonaws.com"
--query-options {"fields":["my_field"]}
--query-parser "simple"
--return "my_field"
--search-query "foo bar"
...returns 出现以下错误:
An error occurred (SearchException) when calling the Search operation: q.options contains invalid javascript object
如果我从上面的查询中删除 --query-options
参数,那么它就可以工作了。来自 AWS CLI docs 关于 --query-options
参数的 fields
选项:
An array of the fields to search when no fields are specified in a search... Valid for: simple , structured , lucene , and dismax
aws cli 版本:
aws-cli/1.11.150 Python/2.7.12 Linux/4.10.0-28-generic botocore/1.7.8
我认为文档有点误导,因为 JSon 不喜欢在双引号内嵌入双引号,您需要用单引号替换为
--query-options "{'fields':['my_field']}"
或者你可以转义双引号
--query-options "{\"fields\":[\"my_field\"]}"