7.17.2. 前方一致RK検索#
7.17.2.1. 概要#
Groongaは前方一致RK検索をサポートしています。RKはローマ字(Romaji)と仮名(Kana、読み)を意味しています。前方一致RK検索はカタカナで登録されているテキストをローマ字、ひらがな、カタカナで指定したクエリーで検索します。ヒットしたテキストは検索したクエリーで始まっています。
前方一致RK検索は日本語テキストを補完するときに便利です。なぜなら、コンピューター上で日本語を入力するときはローマ字を使うことが多いからです。詳細は Wikipediaの日本語入力システム を参照してください。
ユーザーがローマ字で日本語テキストを検索することができると、ユーザーは自分でローマ字をひらがな、カタカナ、漢字に変換する必要がなくなります。たとえば、「日本」の読みとして「ニホン」を登録しておけば、「ni」でも「に」でも「二」でも「日本」を探すことができます。
この機能は便利です。なぜならユーザーの操作が減るからです。
この機能は 補完 でも使われています。
prefix_rk_search を使えば、この機能を filter で使うことができます。
7.17.2.2. 使い方#
前方一致RK検索を使うには TABLE_PAT_KEY テーブルが必要です。
読みをカタカナで TABLE_PAT_KEY
のキーとして登録する必要があります。
実行例:
table_create Readings TABLE_PAT_KEY ShortText --normalizer NormalizerAuto
# [[0,1337566253.89858,0.000355720520019531],true]
load --table Readings
[
{"_key": "ニホン"},
{"_key": "ニッポン"},
{"_key": "ローマジ"}
]
# [[0,1337566253.89858,0.000355720520019531],3]
クエリーに ni
を指定して前方一致RK検索をすると、 Readings
テーブルから ニホン
と ニッポン
を見つけることができます。
クエリーに r
を指定して前方一致RK検索をすると、 Readings
テーブルから ローマジ
を見つけることができます。
7.17.2.3. ローマ字から読みへの変換#
前方一致RK検索はJIS X 4063:2000をベースにしています。
この使用はすでに廃止されています。JIS X 4063:2000については Wikipediaのローマ字入力 を参照してください。
通常、期待した通りの変換結果を得ることができます。