最近ではsudachiの方が利用されているかもしれませんが、
インターネットで検索した範囲では
elasticsearch はkuromojiの情報が多いので、今回は kuromoji
参考url
https://qiita.com/mserizawa/items/8335d39cacb87f12b678
install analysis-kuromoji
$ bin/elasticsearch-plugin install analysis-kuromoji
-> Installing analysis-kuromoji
-> Downloading analysis-kuromoji from elastic
[=================================================] 100%??
-> Installed analysis-kuromoji
-> Please restart Elasticsearch to activate any plugins installed
↑インストール後、↓その結果を確認
$ bin/elasticsearch-plugin list
analysis-kuromoji
$ curl --cacert config/certs/http_ca.crt -u elastic \
https://localhost:9200/_nodes/plugins?pretty
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
{
"_nodes" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"cluster_name" : "elasticsearch",
"nodes" : {
【略】
"plugins" : [
{
"name" : "analysis-kuromoji",
"version" : "8.15.2",
"elasticsearch_version" : "8.15.2",
"java_version" : "17",
"description" : "The Japanese (kuromoji) Analysis plugin integrates Lucene kuromoji analysis module into elasticsearch.",
"classname" : "org.elasticsearch.plugin.analysis.kuromoji.AnalysisKuromojiPlugin",
"extended_plugins" : [ ],
"has_native_controller" : false,
"licensed" : false,
"is_official" : true
}
【略】
}
一旦、indexを閉じ、kuromoji をデフォルトのトークナイザに設定
$ curl --cacert config/certs/http_ca.crt -u elastic \
-XPOST http://localhost:9200/test_index/_close
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
$ curl --cacert config/certs/http_ca.crt -u elastic \
-H "Content-Type: application/json" -X PUT \
"https://localhost:9200/_all/_settings?preserve_existing=true" \
-d '{"index.analysis.analyzer.default.tokenizer": "kuromoji_tokenizer",
"index.analysis.analyzer.default.type" : "custom"}'
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
$ curl --cacert config/certs/http_ca.crt -u elastic \
-XPOST http://localhost:9200/test_index/_open
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
日本語データの投入
$ vi wine.json
{ "index" : {} }
{ "name": "カベルネ・ソーヴィニヨン", "description": "カベルネ・ソーヴィニヨン (Cabernet Sauvignon) は、世界的に最も有名な赤ワイン用の代表ワイン用品種の1つである。単に「カベルネ」(Cabernet) とも呼ばれることが多い。フランスではメドック地区に代表されるようにボルドーの最も重要な品種の一つであり、世界各地でも栽培されているが、比較的温暖な気候を好む。ソーヴィニヨン・ブランとカベルネ・フランの自然交配によって誕生したといわれている。 果皮のタンニン分が多く、強い渋味のある濃厚なワインとなる。雑味が多く、比較的長期の熟成を必要とする。強過ぎる渋味を緩和すべく、メルロー等の他の品種との混醸や混和も少なくない。歴史的には「ヴィドゥーレ」「ヴェデーレ」(「硬い」の意)とも呼ばれた。ソーヴィニヨン・ブラン同様メトキシピラジン(Methoxypyrazine)に由来するアロマがある。"}
{ "index" : {} }
{ "name": "メルロー", "description": "メルロー (Merlot) は、赤ワイン用の品種の中では最大の作地面積をもつ。とくにフランスのボルドーや、それを真似た「ボルドー・ブレンド」において非常に重要であり、カベルネ・ソーヴィニヨンとブレンドされることもある。カベルネ・ソーヴィニヨンに比し爽やかで、軽口である。また、ボルドーのサンテミリオン(Saint-Emilion)やポムロール(Pomerol)といった地区では、カベルネ・ソーヴィニヨンよりも多く配合され、とくにポムロール地区の「シャトー・ペトリュス」は、しばしばこの品種単独で造られる。日本でも長野県の塩尻市桔梗ヶ原地区などで栽培されている。土壌の塩分に弱い。"}
{ "index" : {} }
{ "name": "ピノ・ノワール", "description": "ピノ・ノワール (Pinot Noir) は、フランスのブルゴーニュ地方を原産とする世界的な品種で、紫色を帯びた青色の果皮を持つ。冷涼な気候を好み、特に温暖な気候では色やフレーバーが安定しないので栽培は難しい。イタリアでは「ピノ・ネロ」(Pinot Nero)、ドイツでは「シュペートブルグンダー」(Spätburgunder)の名がある。遺伝子的に不安定で変異種が少なくない。この中には、緑みを帯びた黄色の果皮を持つピノ・ブラン(Pinot Blanc)や褐色のピノ・グリ(Pinot Gris)などがあり、時には同じ樹に異なった色の果実がなるともいわれている。フランス以外では最近ニュージーランドでの栽培が盛んで、寒冷地を中心に栽培される。ワインはライトボディで、弱めの渋味、繊細なアロマとフレーバーが特徴である。シャンパンにも欠かせない品種である。"}
{ "index" : {} }
{ "name": "シラー", "description": "シラー(Syrah)は「シラーズ」(Shiraz)とも呼ばれる赤ワイン用の代表的な品種の1つである。シラーズはイランの都市名であるが、フランス・ローヌ地方が起源とされる。ローヌ地方の代表的な品種である他、オーストラリアでは最も重要な品種である。南アフリカ、チリなどでも栽培されている。ワインはフルボディで香味が強く、カベルネ・ソーヴィニヨンに比べタンニンが「新鮮」なのが特徴である。他の品種との混醸や混和も見られる。栽培される気候や風土によって味が異なる。ローヌ渓谷北部のコート・ロティやエルミタージュ、オーストラリア産が有名。果実は熟するとしなびやすい。"}
{ "index" : {} }
{ "name": "サンジョヴェーゼ", "description": "サンジョヴェーゼ (Sangiovese) は、イタリアで最も栽培面積の多い赤ワイン用の品種である。果皮の色の違いを含め数多くの亜種を持つ。中央イタリアのトスカーナ州が主産地で、イタリアで最も有名な一つである「キャンティ(Chianti)をはじめ、「ブルネッロ・ディ・モンタルチーノ」(Brunello di Montalcino) や「ヴィーノ・ノービレ・ディ・モンテプルチアーノ」(Vino Nobile di Montepulciano) 、「モレッリーノ・ディ・スカンサーノ」(Morellino di Scansano)などが生産される。コルシカ島では、「ニエルッキオ」(Nielluccio)として知られる。"}
$ curl --cacert config/certs/http_ca.crt -u elastic \
-H "Content-Type: application/json" \
-X POST http://localhost:9200/test_index/_bulk --data-binary @wine.json
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
{"errors":false,"took":200,
"items":[
{"index":{"_index":"test_index","_id":"rb8gdZIBNDBl3Nb_TkmR","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":8,"status":201}},
{"index":{"_index":"test_index","_id":"rr8gdZIBNDBl3Nb_TkmU","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":8,"status":201}},
{"index":{"_index":"test_index","_id":"r78gdZIBNDBl3Nb_TkmU","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":3,"_primary_term":8,"status":201}},
{"index":{"_index":"test_index","_id":"sL8gdZIBNDBl3Nb_TkmU","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":4,"_primary_term":8,"status":201}},
{"index":{"_index":"test_index","_id":"sb8gdZIBNDBl3Nb_TkmU","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":5,"_primary_term":8,"status":201}} ] }
日本語での検索test
$ curl --cacert config/certs/http_ca.crt -u elastic \
-H "Content-Type: application/json" \
http://localhost:9200/test_index/_search -d '{"query":{"match":{"description":"渋め"}}}'
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
{"took":162,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":2,"relation":"eq"},"max_score":1.2804732,"hits":[{"_index":"test_index","_id":"rb8gdZIBNDBl3Nb_TkmR","_score":1.2804732,"_ignored":["description.keyword"],"_source":{ "name": "カベルネ・ソーヴィニヨン", "description": "カベルネ・ソーヴィニヨン (Cabernet Sauvignon) は、世界的に最も有名な赤ワイン用の代表ワイン用品種の1つである。単に「カベルネ」(Cabernet) とも呼ばれることが多い。フランスではメドック地区に代表されるようにボルドーの最も重要な品種の一つであり、世界各地でも栽培されているが、比較的温暖な気候を好む。ソーヴィニヨン・ブランとカベルネ・フランの自然交配によって誕生したといわれている。 果皮のタンニン分が多く、強い渋味のある濃厚なワインとなる
。雑味が多く、比較的長期の熟成を必要とする。強過ぎる渋味を緩和すべく、メルロー等の他の品種との混醸や混和も少なくない。歴史的には「ヴィドゥーレ」「ヴェデーレ」(「硬い」の意)とも呼ばれた。ソーヴィニヨン・ブラン同様メトキシピラジン(Methoxypyrazine)に由来するアロマがある。"}},{"_index":"test_index","_id":"r78gdZIBNDBl3Nb_TkmU","_score":0.84890795,"_ignored":["description.keyword"],"_source":{ "name": "ピノ・ノワール", "description": "ピノ・ノワール (Pinot Noir) は、フランスのブルゴーニュ地方を原産とする世界的な品種で、紫色を帯びた青色の果皮を持つ。冷涼な気候を好み、特に温暖な気候では色やフレーバーが安定しないので栽培は難しい。イタリアでは「ピノ・ネロ」(Pinot Nero)、ドイツでは「シュペートブルグンダー」(Spätburgunder)の名がある。遺伝子的に不安定で変異種が少なく
ない。この中には、緑みを帯びた黄色の果皮を持つピノ・ブラン(Pinot Blanc)や褐色のピノ・グリ(Pinot Gris)などがあり、時には同じ樹に異なった色の果実がなるともいわれている。フランス以外では最近ニュ
ージーランドでの栽培が盛んで、寒冷地を中心に栽培される。ワインはライトボディで、弱めの渋味、繊細なアロマとフレーバーが特徴である。シャンパンにも欠かせない品種である。"}}]}}
$ curl --cacert config/certs/http_ca.crt -u elastic \
-H "Content-Type: application/json" \
-X POST "http://localhost:9200/test_index/_analyze" -d '{"text":"渋め"}'
Enter host password for user 'elastic': mNXX=JAaEr+gVO5zDQhB
{"tokens":[{"token":"渋","start_offset":0,"end_offset":1,"type":"word","position":0},{"token":"
め","start_offset":1,"end_offset":2,"type":"word","position":1}]}