📚
OpenSearchでsudachi_full.dicを使ってみた
2023年に言語アナライザーのsudachiがOpenSearchでサポートされました。
これまで日本語のアナライザーはkuromojiしかサポートされていなかったのですが、
今回サポートされたということで業務で使っているアナライザーをsudachiに乗り換えました。
また辞書はfull_dictionaryを使用してます。
設定方法はElasticsearchと大体同じですが、多少違う部分もあったので備忘録としてまとめます。
参考になる部分があると幸いです。
sudachi_full.dicをダウンロードする
こちらからダウンロードできます。
辞書をOpenSearchのドメインに紐づける
まずはS3にダウンロードした辞書をアップロードします。
次にOpenSearchのページからS3にアップロードした辞書をインポートします。
インポートが完了したらドメインに関連付けます。
また、次にindexを作成する際にパッケージIDが必要になるので控えておきます。
indexを作成する
OpenSearch DashboardsのDev Toolsからindexを作成していきます。
additional_settings
プロパティに先程控えておいたパッケージIDを記述します。
PUT /sudachi_sample
{
"settings": {
"analysis": {
"tokenizer": {
"sudachi_full_tokenizer": {
"type": "sudachi_tokenizer",
"additional_settings": "{\"systemDict\":\"F123456789\"}"
}
},
"analyzer": {
"sudachi_full_analyzer": {
"tokenizer": "sudachi_full_tokenizer"
}
}
}
}
}
では実際に形態素解析してみます。
// request
POST sudachi_sample/_analyze
{
"text": "東急新横浜線",
"analyzer": "sudachi_full_analyzer"
}
// response
{
"tokens": [
{
"token": "東急新横浜線",
"start_offset": 0,
"end_offset": 9,
"type": "word",
"position": 0
}
]
}
参考
Discussion