# groonga - オープンソースのカラムストア機能付き全文検索エンジン

- English

# 7.15.2. 前方一致RK検索

## 7.15.2.1. 概要

Groongaは前方一致RK検索をサポートしています。RKはローマ字（Romaji）と仮名（Kana、読み）を意味しています。前方一致RK検索はカタカナで登録されているテキストをローマ字、ひらがな、カタカナで指定したクエリーで検索します。ヒットしたテキストは検索したクエリーで始まっています。

前方一致RK検索は日本語テキストを補完するときに便利です。なぜなら、コンピューター上で日本語を入力するときはローマ字を使うことが多いからです。詳細は Wikipediaの日本語入力システム を参照してください。

ユーザーがローマ字で日本語テキストを検索することができると、ユーザーは自分でローマ字をひらがな、カタカナ、漢字に変換する必要がなくなります。たとえば、「日本」の読みとして「ニホン」を登録しておけば、「ni」でも「に」でも「二」でも「日本」を探すことができます。

この機能は便利です。なぜならユーザーの操作が減るからです。

この機能は 補完 でも使われています。

prefix_rk_search() を使えば、この機能を filter で使うことができます。

## 7.15.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.15.2.3. ローマ字から読みへの変換

前方一致RK検索はJIS X 4063:2000をベースにしています。

この使用はすでに廃止されています。JIS X 4063:2000については Wikipediaのローマ字入力 を参照してください。

通常、期待した通りの変換結果を得ることができます。

## 7.15.2.4. 参考

> - 補完
> - prefix_rk_search()