amazon suggest アマゾンのサジェスト(入力補助)機能をテキストエリアに追加する

NGT会議終了後、酔っぱらったままアマゾンのサジェスト機能を引っ張ってこようと
情報収集を続けた。

その結果、一応形になったので残しておく。
国によってamazonの入力補助を取りに行く先が違うのと、イギリス、フランス、
ドイツ、カナダのamazonに関してはほぼ情報が無かったので各amazonの
ソースを見て探した。

Amazon.co.jp(日本)
http://completion.amazon.co.jp/search/complete?mkt=6&method=completion&search-alias=aps&q=hoge

Amazon.com(アメリカ)
http://completion.amazon.com/search/complete?mkt=1&method=completion&search-alias=aps&q=hoge

Amazon.co.uk(イギリス)
http://completion.amazon.co.uk/search/complete?mkt=3&method=completion&search-alias=aps&q=hoge

Amazon.fr(フランス)
http://completion.amazon.co.uk/search/complete?mkt=5&method=completion&search-alias=aps&q=hoge

Amazon.de(ドイツ)
http://completion.amazon.co.uk/search/complete?mkt=4&method=completion&search-alias=aps&q=hoge

Amazon.ca(カナダ)
http://completion.amazon.com/search/complete?mkt=7&method=completion&search-alias=aps&q=hoge

返ってくる情報はJSONなので、これを何らかの方法でデコードしてやる必要がある。
かつ、googleやamazonで使われているサジェストを実現するには
オートコンプリートを行いたい。

ということで調べていたところ、下記のブログで
jQuery Autocomplete Mod プラグインで Googleサジェスト を使う

jQuery Autocomplete Modを利用して
入力の候補を一覧表示してくれるオートコンプリート機能をテキストフォームに追加できる
phpスクリプトが公開されていた。
このスクリプトで、googleとamazonが返してくるJSONの違いだけ一部修正して動作させてみた。

すると、入力候補がどんどん絞られてしまう事態になっていた。
これはgoogleやamazonのサジェストと異なるため非常に違和感があり、
さまよっていたところ

下記のようなブログを発見。
jQueryのオートコンプリートプラグインをオレ好みに

“foot” にたいしてマッチした項目は、”foo” に対してマッチしたもののサブセットです。通常はこれは真であり、このオプションを使うことはサーバーへの負荷を減らしパフォーマンスを向上させます。

これだ。これが作動しているため候補がどんどん絞り込まれてしまう。
ブログに書いてあるとおりに解除。フォーカスも確かにおかしいのでblur解除。

結果的にテキストエリアに文字を入力すると、amazonから入力候補が返ってきて
表示されるようになった。

まずは以下のページに搭載した。
Amazon.comで買い物する方法 (個人輸入)(USA・アメリカのアマゾン)

NGTに向けては翻訳サジェスト機能が出来上がるまでリリースを控える。