AWS Cloudsearch Ruby SDK errors on providing expressions: Found invalid value where JavaScript Object was expected -


i trying use aws cloudsearch rails console.

i trying provide expressions aws cloudsearch searchrequest query. gives me error : "found invalid value javascript object expected"

i able provide simple query string, filter query , query parser.

terminal :

aws.config.update({region: 'us-west-2',credentials: aws::credentials.new(‘key_id', ’secret_key'), }) csd = aws::cloudsearchdomain::client.new(region: 'us-east-1', endpoint: 'http://search-endpoint.us-east-1.cloudsearch.amazonaws.com/')  1.9.3-p551 :340 >    1.9.3-p551 :341 >   fq  => "location:['40.628611,-100.694152','25.621966,-66.686706']"  1.9.3-p551 :342 > csd  => #<aws::cloudsearchdomain::client>  1.9.3-p551 :343 > csd.search(query:'user*', query_parser:'simple', filter_query: fq)  => #<struct aws::cloudsearchdomain::types::searchresponse status=#<struct aws::cloudsearchdomain::types::searchstatus timems=11, rid="5/l54eypoqkbclumdg==">, hits=#<struct aws::cloudsearchdomain::types::hits found=0, start=0, cursor=nil, hit=[]>, facets=nil>  1.9.3-p551 :344 > csd.search(query:'user*', query_parser:'simple', filter_query: fq, expr:'1') aws::cloudsearchdomain::errors::searchexception: invalid syntax in 'expr' parameter: found invalid value javascript object expected         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.1.2/lib/seahorse/client/plugins/raise_response_errors.rb:15:in `call'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.1.2/lib/aws-sdk-core/plugins/param_converter.rb:21:in `call'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.1.2/lib/aws-sdk-core/plugins/response_paging.rb:26:in `call'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.1.2/lib/seahorse/client/plugins/response_target.rb:18:in `call'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.1.2/lib/seahorse/client/request.rb:70:in `send_request'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.1.2/lib/seahorse/client/base.rb:207:in `block (2 levels) in define_operation_methods'         (irb):344         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/railties-4.2.3/lib/rails/commands/console.rb:110:in `start'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/railties-4.2.3/lib/rails/commands/console.rb:9:in `start'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:68:in `console'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:39:in `run_command!'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/railties-4.2.3/lib/rails/commands.rb:17:in `<top (required)>'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `block in require'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240:in `load_dependency'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require'         /users/anshulgoyal/workspace/adamantium/backend/truckfinder_service/bin/rails:8:in `<top (required)>'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:268:in `load'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:268:in `block in load'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240:in `load_dependency'         /users/anshulgoyal/.rvm/gems/ruby-1.9.3-p551/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:268:in `load'         /users/anshulgoyal/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'         /users/anshulgoyal/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'         -e:1:in `<main>'1.9.3-p551 :345 >  

any here appreciated.

thanks,
anshul

error faced here similar 1 asked in aws forums : https://forums.aws.amazon.com/thread.jspa?messageid=579640

solution create map expressions, each |key,value| denotes expressions name , formula(value). , pass jsonencoded string of map search method of cloudsearchdomain.

e.g.

1.9.3-p551 :520 > expr_map2   => {:geo=>"haversin(38.958687,-77.343149,location.latitude,location.longitude)"}   1.9.3-p551 :521 > csd.search(query:'user*', query_parser:'simple', filter_query: fq, expr:activesupport::json.encode(expr_map2))   => #<struct aws::cloudsearchdomain::types::searchresponse status=#<struct aws::cloudsearchdomain::types::searchstatus timems=45, rid="wpzuhocp7ribclumdg==">, hits=#<struct aws::cloudsearchdomain::types::hits found=0, start=0, cursor=nil, hit=[]>, facets=nil> –  

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -