CREATE TEXT SEARCH TEMPLATE — 新しいテキスト検索テンプレートを定義する
CREATE TEXT SEARCH TEMPLATEname
( [ INIT =init_function
, ] LEXIZE =lexize_function
)
CREATE TEXT SEARCH TEMPLATE
は新しいテキスト検索テンプレートを作成します。
テキスト検索テンプレートは、テキスト検索辞書を実装する関数を定義します。
テンプレートはそれ自体では有用ではありませんが、使用される辞書として実体化されなければなりません。
通常この辞書はテンプレート関数に渡すパラメータを指定します。
スキーマ名が指定された場合、テキスト検索テンプレートは指定したスキーマに作成されます。 そうでなければ、現在のスキーマに作成されます。
CREATE TEXT SEARCH TEMPLATE
を使用するには、スーパーユーザでなければなりません。
おかしなテキスト検索テンプレート定義はサーバを混乱させ、クラッシュさせる可能性があるため、この制限があります。
辞書とテンプレートを分離させた理由は、テンプレートにより辞書定義の「安全でない」側面を隠蔽化することです。
辞書を定義する時に設定できるパラメータは、非特権ユーザが設定しても安全なものです。
このため、辞書の作成では特権操作は必要ありません。
詳細は12章全文検索を参照してください。
name
作成するテキスト検索テンプレートの名称です。 この名前はスキーマ修飾することができます。
init_function
テンプレートの初期化関数の名称です。
lexize_function
テンプレートの字句化関数の名称です。
関数名は必要に応じてスキーマ修飾可能です。 各種関数の引数リストは事前に定められているので、引数型の指定はありません。 字句化関数は必須ですが、初期化関数は省略可能です。
引数は、上で示した順序だけではなく、任意の順序で記述することができます。
標準SQLにはCREATE TEXT SEARCH TEMPLATE
文はありません。