带有 --query-options 抛出错误的 AWS Cloudsearch CLI
AWS Cloudsearch CLI with --query-options throwing error
我有一个通过命令行传递的查询:
aws cloudsearchdomain --endpoint-url http://myendpt search --search-query value --return _all_fields --cursor initial --size 100 --query-options {"defaultOperator":"or","fields":["id"],"operators":["and","escape","fuzzy","near","not","or","phrase","precedence","prefix","whitespace"]} --query-parser simple --query-parser simple --profile myname
它的响应是:
Unknown options: operators:[and, escape, fuzzy, near, not, or, phrase, precedence, prefix, whitespace], fields:[id]
我向您保证 id
字段存在于 AWS Cloudsearch
中。我将在线 cloudsearch 查询测试器中的查询反向工程为 AWS CLI。
请帮忙。
更新:
此问题已在更新后的 aws-cli/1.8.4
中得到解决。如果你是像我这样的 ubuntu/linux
用户:
请做:
sudo pip uninstall awscli
sudo pip install awscli
aws --version
从评论中总结 Asker 的解决方案:问题是您必须双引号 json 参数,然后是单引号 ('
) 或转义双引号(\"
) 您的参数中的 json key/values。
例如,这两个都有效
--query-options "{'defaultOperator':'and','fields':['name']}"
或
--query-options "{\"defaultOperator\":\"and\",\"fields\":[\"name\"]}"
我 ruby 实施 aws-sdk, ver > 2
的解决方案
client = Aws::CloudSearchDomain::Client.new(endpoint:'http://yoururl')
resp = client.search({
cursor:"initial",
facet:"{\"facet_name_!\":{},\"mentions\":{}}",
query:"#{place_a_value_here}",
query_options:"{\"defaultOperator\":\"or\",\"fields\":[\"yourfield\"],\"operators\":[\"and\",\"escape\",\"fuzzy\",\"near\",\"not\",\"or\",\"phrase\",\"precedence\",\"prefix\",\"whitespace\"]}",
query_parser:"simple",
return:"_all_fields",
size:1000,
highlight:"{\"text\":{}}",
})
我有一个通过命令行传递的查询:
aws cloudsearchdomain --endpoint-url http://myendpt search --search-query value --return _all_fields --cursor initial --size 100 --query-options {"defaultOperator":"or","fields":["id"],"operators":["and","escape","fuzzy","near","not","or","phrase","precedence","prefix","whitespace"]} --query-parser simple --query-parser simple --profile myname
它的响应是:
Unknown options: operators:[and, escape, fuzzy, near, not, or, phrase, precedence, prefix, whitespace], fields:[id]
我向您保证 id
字段存在于 AWS Cloudsearch
中。我将在线 cloudsearch 查询测试器中的查询反向工程为 AWS CLI。
请帮忙。
更新:
此问题已在更新后的 aws-cli/1.8.4
中得到解决。如果你是像我这样的 ubuntu/linux
用户:
请做:
sudo pip uninstall awscli
sudo pip install awscli
aws --version
从评论中总结 Asker 的解决方案:问题是您必须双引号 json 参数,然后是单引号 ('
) 或转义双引号(\"
) 您的参数中的 json key/values。
例如,这两个都有效
--query-options "{'defaultOperator':'and','fields':['name']}"
或
--query-options "{\"defaultOperator\":\"and\",\"fields\":[\"name\"]}"
我 ruby 实施 aws-sdk, ver > 2
client = Aws::CloudSearchDomain::Client.new(endpoint:'http://yoururl')
resp = client.search({
cursor:"initial",
facet:"{\"facet_name_!\":{},\"mentions\":{}}",
query:"#{place_a_value_here}",
query_options:"{\"defaultOperator\":\"or\",\"fields\":[\"yourfield\"],\"operators\":[\"and\",\"escape\",\"fuzzy\",\"near\",\"not\",\"or\",\"phrase\",\"precedence\",\"prefix\",\"whitespace\"]}",
query_parser:"simple",
return:"_all_fields",
size:1000,
highlight:"{\"text\":{}}",
})