Amazon CloudSearchは2014年3月から日本語がサポートされましたが、 Analysis SchemeでJapaneseを選択した場合、形態素解析のみとなり、 N-Gramがあるとイイのにな、と思う場合があります。 Analysis Schemeには"Multi Languages"というオプションがあるのですが、 先日、こちらを選択することで、N-Gramに該当する検索が実現できるようになりましたので さっそく試してみたいと思います。 ■ Japanese(日本語形態素解析) と Multi Languages(N-Gram) の 2つのフィールドを定義します。 ■ それぞれのフィールドに都道府県の名称を入れてみます ■ Japanese(日本語形態素解析) を "京都" で検索してヒットするのは "京都府" のみになります。 ■ Multi Languages(N-Gram) を "京都" で検索してヒットするのは "東京都" と "京都府" になります。(スコア同じ) ■ カレット(^)で Japanese(日本語形態素解析) を重み付けしてみます。(デフォルト値は1なのですがjapanese5にしてみました) ■ わざわざ2つデータを突っ込むのは面倒です。 CloudSearchには"Source Field"という機能があるので、 ↓のように設定することで、 Japanese(日本語形態素解析) のデータを copy_multi(N-Gram) にコピー出来ます。 ■ copy_multi(N-Gram) は上記の multi(N-Gram) と同様の振る舞いをします。 ■ Japanese(日本語形態素解析) と copy_multi(N-Gram) を組み合わせてキャレットの重み付けももちろん可能です。 CloudSearchはon goingなプロダクトで、今後も機能追加が沢山予定されております〜 :) @imai_factoryが著者の一人の↓オススメです(´∀`)