elasticsearch-ruby でトークナイザーを指定してトークン分割

elasticsearch-ruby を使っていて文字列をトークンに分割して、ruby の配列で受け取りたい場面がありました。Elasticsearch::API::Indices#analyze という、Elasticsearch の _analyze API をラップしてあるメソッドが使えます。

スポンサーリンク

以下 pry で。

Elasticsearch::API::Indices#analyze を使う

トークナイザーの指定なしだと、上のように1文字ごとに区切ってしまい使えない。

tokenizer オプションを渡せる

引数で tokenizer を指定できます。以下、トークナイザー(tokenizer)に kuromoji_tokenizer を指定した場合です。

これでOK。良い感じにトークン分割してくれました。実際は以下のようなコードにして使いました。

完璧です。

スポンサーリンク
全文検索システムを実装するには、ElasticSearch がおすすめです。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!