我正在尝试使用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"
...返回以下错误:
调用搜索操作时发生错误(SearchException):q.options包含无效的javascript对象
如果我从上面的查询中删除--query-options
参数,那么它可以正常工作。关于fields
参数的--query-options
选项的AWS CLI docs:
在搜索中未指定字段时要搜索的字段数组...适用于:simple,structured,lucene和dismax
aws cli版本:
aws-cli / 1.11.150 Python / 2.7.12 Linux / 4.10.0-28-generic botocore / 1.7.8
答案 0 :(得分:2)
我认为文档有点误导,因为JSon不喜欢双引号中的嵌入式双引号,你需要用单引号代替
--query-options "{'fields':['my_field']}"
或者你可以逃避双引号
--query-options "{\"fields\":[\"my_field\"]}"