1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon OpenSearch Serviceと辞書対応

1
Last updated at Posted at 2025-09-30

Amazon OpenSearch Serviceの辞書対応について調査・整理した際のメモ。

そもそも辞書とは

キーワード検索において、形態素解析器が文章をわかち書き(正しい分割単位=トークンに分割すること)する際に使用するのが辞書。

ユーザー辞書

ビルトイン辞書には限界があるので、固有名詞や略称など、ユーザー自身が自らの個別要件に併せて用意した辞書がユーザー辞書。
形態素解析器(アナライザー)に食わせて使用する。

シノニム辞書

類義語、短縮語、表記揺らぎなどを吸収し、同一トークンにヒットさせることを目的とした、グルーピング用の特殊な辞書。
インデックス時やクエリー時(トークンフィルター)に使用する。

Amazon OpenSearch Serviceでの実装

ユーザー辞書、シノニム辞書とも利用可能。S3にテキストファイルを置いて動的に読み込める。
ただしProvisioned Cluster限定で、2025年9月現在、Serverlessでは利用できない。正確には、Serverlessでもシノニム辞書は使えるが、インデックスごとにインラインで直書きする必要があり運用に載りづらい。

2025年9月現在の仕様まとめ

タイプ サポート状況 実装方法 トークナイザー
プロビジョンドクラスター
(Provisioned Cluster)
ユーザー辞書、シノニム辞書も対応 S3に配置して参照 kuromoji以外(例:sudachi)にも対応
サーバーレス
(Serverless)
シノニム辞書のみ対応 直書き kuromojiのみの対応

まとめ

RAGのベクトルストア(正確にはハイブリッド検索を有効化したベクトルストア)にAmazon OpenSearch Serviceを使用した場合に、辞書を使用した精度改善の対応余地を調べた時の内容だが、現状はProvisioned Cluster一択かなという印象。

ただ、RAGの場合はトークンだけでなくチャンク(ベクトル検索における、ベクトルストアに格納するベクトルの元となる単語の分割単位。トークンはキーワード検索におけるインデックス対象単語の分割単位)をどうする問題もあるので、昔ながらのOpenSearch/Elasticsearchの議論に比べて、やや複雑かも知れない。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?