はじめに
まだあまりElasticSearchを理解しておりません。
環境
ElasticSearch6.2
Kibanaを使った操作
やりたいこと
トークナイズ?にkuromojiを使ってみたい。
やったこと
kuromojiが入っていることを確認。
GET /_analyze { "tokenizer": "kuromoji_tokenizer", "text": "今日はとてもいい天気ですね" }
Indexの作成
PUT /kuromoji { "index":{ "analysis":{ "tokenizer" : { "kuromoji" : { "type" : "kuromoji_tokenizer" } }, "analyzer" : { "analyzer" : { "type" : "custom", "tokenizer" : "kuromoji" } } } } }
適当にデータを入れてみる。
データを入れると、解析機がuni-gramではなく、
kuromojiを使った分かち書きになる…という認識ですが間違っていますでしょうか?
POST kuromoji/sentence { "text": "あるところに、かわいそうな乞食の子がありました。" } POST kuromoji/sentence { "text": "さびしい村の方から、毎日、町の方へ、ものをもらいに追い出されました。けれど、小さな足には、なにもはくものがなかったのです。子供は跣足で、長い石ころの多い道を、とぼとぼと歩かなければならなかったのでした。" } POST kuromoji/sentence { "text": "夏の暑い日のことであります。地の面は乾いて、石は、熱く焼けていました。しかし子供は、足になにもはくものがなかったので、その上を跣足で歩いていました。通りすがりの人たちは、このかわいそうな乞食の子を見ましても、やさしい声ひとつ、かけてくれるものはありませんでした。" }
※青空文庫より、長ぐつの話
検索してみる。
以下の文章は、3つ目に投入した文章の一部です。
しかしなぜか2つ目に投入した文章の類似度が一番高でて、3つ目の文章は最下位の類似度でした。
これはkuromojiが正常に反映されているのでしょうか。
GET kuromoji/sentence/_search { "query": { "match": { "text": "足になにもはくものがなかったので" } } }
質問まとめ/聞きたいこと
- 上記設定を行ったElasticSearchにデータを投入した際、投入されたデータはkuromojiで解析されている認識でよろしいでしょうか?
- 検索時に、クエリで投げた文章とすでにElasticSearchに入っている情報共に、kuromojiで解析されている認識でよろしいでしょうか?
- 現在の検索でkuromojiが使われているかを確認する方法はあるのでしょうか?
- 既存のIndexの解析機をkuromojiに変更することはできるのでしょうか?
ご存知のかたがいらっしゃいましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/09 02:15