Amazon Product Advertising API (amazon-ecs) gemから検索結果を取得しようとしています。検索文字列に問題がありますが、詳細すぎる場合のみです。
ここで、ユーザーが次の検索を入力したとします。
search_string = 'big book of birth'
その場合、これは機能します:
res = Amazon::Ecs.item_search(search_string, {:response_group => 'Large', :search_index => 'Books'})
つまり、私のコンソールでは次のようになります。
res.has_error?
=> false
これでも機能します:
search_string = 'big book of birth by'
res = Amazon::Ecs.item_search(search_string, {:response_group => 'Large', :search_index => 'Books'})
res.has_error?
=> false
不思議なことに、これは機能しません:
search_string = 'big book of birth by erika lyons'
res = Amazon::Ecs.item_search(search_string, {:response_group => 'Large', :search_index => 'Books'})
res.has_error?
=> true
res.error
=> "We did not find any matches for your request."
この検索を Amazon.com のもののように「あいまい」にするために含める必要があるオプション/パラメーターはありますか (たとえば、スペルチェッカー、不要な単語の切り捨てなど)。そこで「エリカ・ライオンズによるビッグ・ブック・オブ・バース」を検索すると、いくつかの単語を切り捨てた後、リストの一番上に正確な本が表示されます。