D Oracle Textの多言語機能
この付録では、Oracle Textの多言語機能について説明します。次の内容について説明します。
D.1 概要
この付録では、Oracle Textの主要な多言語機能の概要を説明します。
Oracleのグローバリゼーション・サポート言語および文字セット・サポートの完全なリストは、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
ノート:
Oracle Textでは、NLS_COMP
およびNLS_SORT
パラメータはサポートされていません。Oracle Textで生成される検索結果は、これらのパラメータの値と無関係です。
Oracle Database 12c リリース2 (12.2)では、Oracle Text索引は、宣言された照合BINARY
、USING_NLS_COMP
、USING_NLS_SORT
またはUSING_NLS_SORT_CS
を使用する列に対してのみ作成できます。Oracle Textの動作は、すべてのサポートされる照合で同様です。
D.2 索引付け
次の各項目で、多言語索引付け機能について説明します。
D.2.1 Oracle Textの索引タイプの多言語機能
次の各項目で、Oracle Textの索引タイプでサポートされている多言語機能について説明します。
関連項目:
使用可能なレクサーについては、「レクサー型」を参照してください。
D.2.1.1 CONTEXT索引タイプ
CONTEXT
索引タイプは、言語および文字セット列の使用を含めて、多言語機能を完全にサポートしています。
次のレクサーをサポートしています。
-
AUTO_LEXER
-
BASIC_LEXER
-
MULTI_LEXER
-
USER_LEXER
-
WORLD_LEXER
-
CHINESE_LEXER
-
CHINESE_VGRAM_LEXER
-
JAPANESE_LEXER
-
JAPANESE_VGRAM_LEXER
-
KOREAN_MORPH_LEXER
D.2.1.2 CTXCAT索引タイプ
CTXCAT
は、テーマの索引付けを除いたBASIC_LEXER
の多言語機能をサポートしており、次の追加レクサーをサポートしています。
-
USER_LEXER
-
WORLD_LEXER
また、CTXCAT
は次のレクサーもサポートしています。
-
CHINESE_LEXER
-
CHINESE_VGRAM_LEXER
-
JAPANESE_LEXER
-
JAPANESE_VGRAM_LEXER
-
KOREAN_MORPH_LEXER
D.2.2 レクサー型
Oracle Textでは、索引付け処理時にレクサーを選択可能にすることにより、異なる言語の索引付けをサポートしています。指定したレクサーにより、索引付けできる言語が決まります。
表D-1 Oracle Textのレクサー型
レクサー | サポートされている言語 |
---|---|
|
自動的に、内容を調べて索引付け対象の言語を特定し、その言語に適したオプション(ステミングなど)を適用します。各ドキュメントに単一言語が含まれ、識別に役立つテキストの段落が少なくとも2つある場合に最適に機能します。 |
|
スペースで区切られた単語を使用する言語(英語や大半の西ヨーロッパ言語など)のテキストからトークンを抽出します。 |
|
英語、ドイツ語および日本語など、異なる複数言語のドキュメントを含む表を索引付けします。 |
|
中国語テキストからトークンを抽出します。 |
|
中国語テキストからトークンを抽出します。このレクサーは、
|
|
日本語テキストからトークンを抽出します。 |
|
日本語テキストからトークンを抽出します。このレクサーは、
|
|
韓国語テキストからトークンを抽出します。 |
|
特定の言語に索引付けします。 |
|
異なる複数言語のドキュメントを含む表に索引付けします。ドキュメント内の言語を自動検出します |
D.2.3 基本レクサー機能
次の機能は、BASIC_LEXER
のプリファレンスでサポートされています。これらの機能は、BASIC_LEXER
の属性で有効にします。検索結果の精度を上げるために、代替スペル、コンポジットおよび基本文字などの機能を同時に有効にできます。
D.2.3.1 テーマ索引
CONTEXT
索引タイプを持つABOUT
演算子が含まれるドキュメントの概念に索引付けを行い、その後の問合せを可能にします。これらの概念は、Oracle Textのナレッジ・ベースから導出されます。この機能は、英語とフランス語でサポートされています。
この機能は、CTXCAT
索引タイプではサポートされていません。
D.2.3.2 代替スペル
この機能により、ワードを代替スペルで検索できます。たとえば、ドイツ語で代替スペルを有効にすると、grossを検索した場合、großおよびgrossが含まれているドキュメントが戻されます。
この機能は、ドイツ語、デンマーク語およびスウェーデン語でサポートされています。
さらに、ドイツ語は、従来のスペルと改良された(新規の)スペルの両方の規則に基づいて索引付けできます。
関連項目:
D.2.3.3 基本文字変換
この機能により、ティルデ、アクセントおよびウムラウトなどの発音区別記号が含まれているワードおよび含まれていないワードの両方を問い合せることができます。たとえば、スペイン語の基本文字索引を使用すると、energiaを検索した場合、energíaおよびenergiaの両方が含まれているドキュメントが検索されます。
この機能は、英語およびサポートされているその他すべての空白のデリミタ付き言語でサポートされています。英語およびフランス語では、基本レクサーを使用してテーマの索引付けを使用可能にできます。
関連項目:
D.2.3.4 コンポジット
この機能により、指定した語句が複合語の要素として含まれているワードを検索できます。STEM($)演算子を使用する必要があります。この機能は、ドイツ語とオランダ語でサポートされています。
たとえば、ドイツ語で$registerを検索した場合、BruttoregistertonneおよびRegistertonneが含まれているドキュメントが検索されます。
D.2.4 マルチレクサー機能
MULTI_LEXER
レクサーは、異なる複数の言語のドキュメントを含む列の索引付けを可能にします。索引付け時に、Oracle Textは言語列を調べ、言語固有のレクサーに切り替えた後、ドキュメントを処理します。索引付けを実行する前に、各言語のレクサー・プリファレンスを定義します。
マルチレクサーを使用すると、言語ごとに異なるプリファレンスを設定できます。たとえば、ドイツ語のドキュメントではcomposite
をTRUE
に設定し、オランダ語のドキュメントではcomposite
をFALSE
に設定できます。
D.2.5 Worldレクサー機能
MULTI_LEXER
と同様にWORLD_LEXER
レクサーは、異なる複数の言語を含むドキュメントの索引付けを可能にします。ドキュメントの言語を自動的に検出するため、元表に言語列を作成する必要がありません。
WORLD_LEXER
は、すべてのデータベース文字セットをサポートしており、Unicode 5.0標準をサポートしています。複数言語を使用するドキュメントでWORLD_LEXER
を有効に活用するには、AL32UTF-8またはUTF8 Oracle文字セット・エンコーディングを指定する必要があります。これには、補完、またはサロゲート・ペア文字も含まれます。
表D-2および表D-3に、WORLD_LEXER
でサポートされる言語を示します。このリストはUnicode標準の変更に伴って変更される可能性があります。いずれにしても完全なリストとは考えないようにする必要があります。(言語は一般的なグループ分けではなく、Unicodeの言語システムに対応してグループ分けされています。)
表D-2 Worldレクサーでサポートされている言語(空白で区切られる言語)
言語グループ | 含まれる言語 |
---|---|
アラビア語 |
アラビア語、ファルシ語、クルド語、パシュトー語、シンド語、ウルドゥー語 |
アルメニア語 |
アルメニア語 |
ベンガル語 |
アッサム語、ベンガル語 |
Bopomofo |
客家(ハッカ)語、ビンナン語 |
キリル語 |
ベラルーシ語、ブルガリア語、マケドニア語、モルダビア語、ロシア語、セルビア語、セルビア・クロアチア語、ウクライナ語を含む50以上の言語 |
デーヴァナーガリー文字 |
ボジュプリー語、ビハール語、ヒンディー語、カシミール語、マラーティー語、ネパール語、パーリ語、サンスクリット語 |
エチオピア語 |
アムハラ語、ゲーズ語、ティグリニャ語、ティグレ語 |
ジョージア語 |
ジョージア語 |
ギリシャ語 |
ギリシャ語 |
グジャラト語 |
グジャラート語、カッチ語 |
グルムキー語 |
パンジャブ語 |
ヘブライ語 |
ヘブライ語、ラディノ語、イディッシュ語 |
カガンガ文字 |
レジャン語 |
カンナダ語 |
カナラ語、カンナダ語 |
韓国語 |
韓国語、ハンジャ・ハングル語 |
ラテン語 |
アフリカーンス語、アルバニア語、バスク語、ブルトン語、カタロニア語、クロアチア語、チェコ語、デンマーク語、オランダ語、英語、エスペラント語、エストニア語、フェロー語、フィジー語、フィンランド語、フラマン語、フランス語、フリジア語、ドイツ語、ハワイ語、ハンガリー語、アイスランド語、インドネシア語、アイルランド語、イタリア語、ラップ語、古典ラテン語、ラトビア語、リトアニア語、マレー語、マルタ語、中国標準語(ピンイン表記)、マオリ語、ノルウェー語、ポーランド語、ポルトガル語、プロヴァンス語、ルーマニア語、サモア語、ゲール語(スコットランド)、スロバキア語、スロベニア語、ソルビア語、スペイン語、スワヒリ語、スウェーデン語、タガログ語、トルコ語、ベトナム語、ウェールズ語 |
マラヤーラム語 |
マラヤーラム語 |
モンゴル語 |
モンゴル語 |
オリヤー語 |
オリヤー語 |
シンハラ語 |
パーリ語、シンハラ語 |
シリア語 |
アラム語、シリア語 |
タミル語 |
タミル語 |
テルグ語 |
テルグ語 |
ターナ語 |
ディベヒ語、モルディブ語 |
表D-3 Worldレクサーでサポートされている言語(空白で区切られない言語)
言語グループ | 含まれる言語 |
---|---|
中国語 |
広東語、中国標準語、ピンイン表音文字 |
日本語 |
日本語(ひらがな、漢字、カタカナ) |
クメール語 |
カンボジア語、クメール語 |
ラオ語 |
ラオ語 |
ミャンマー語 |
ビルマ語 |
タイ語 |
タイ語 |
チベット語 |
ゾンカ語、チベット語 |
表D-4に、Worldレクサーでサポートされていない言語を示します。
表D-4 Worldレクサーでサポートされていない言語
言語グループ | 含まれる言語 |
---|---|
ブヒッド語 |
ブヒッド語 |
カナダ音節文字 |
ブラックフット語、カリエール語、クリー語、ダケール語、イヌイット語、イヌクティトゥト語、ナスカピ語、ヌナヴィク語、ヌナブト語、オジブウェー語、サリッシュ語、スレーベイ語 |
チェロキー語 |
チェロキー語 |
キプロス方言 |
キプロス方言 |
リンブ語 |
リンブ語 |
オガム文字 |
オガム文字 |
ルーン語 |
ルーン語 |
タイ・ルー語 |
タイ・ルー語 |
ウガリット語 |
ウガリット語 |
イ語 |
イ語 |
易経の六線星形 |
易経 |
D.3 問合せ
Oracle Textでは、様々な問合せ演算子の使用をサポートしています。一部の演算子は、ご使用の言語にあわせて動作するよう設定できます。この項では、これらの演算子の多言語問合せ機能の概要を説明します。
-
ABOUT
演算子を使用して概念を問い合せます。システムは、索引のテーマ・コンポーネントの概念情報を検索します。この機能は、CONTEXT
索引を持つ英語とフランス語でサポートされています。 -
FUZZY演算子を使用すると、指定したワードと類似したスペルを持つワードを検索できます。Oracle Textでは、英語、フランス語、ドイツ語、イタリア語、オランダ語、スペイン語、ポルトガル語、日本語、光学式文字認識(OCR)および自動言語識別について、
FUZZY
をサポートしています。 -
STEM演算子を使用して、指定した語句と同じ語根を持つ語を検索できます。たとえば、$singというステムは、sang、sung、singという語の問合せに拡張されます。Oracle Textのステマーは、英語、フランス語、スペイン語、イタリア語、ドイツ語、日本語およびオランダ語をサポートしています。
D.4 提供されるストップリスト
デフォルトでは、データベースの言語に対応してシステムが提供するストップリストを使用して、テキストの索引付けが行われます。
ストップリストは、索引付けされないワードのリストです。これらは通常、たとえば英語におけるthis、thatおよびcanなどのような、一般的な語です。
Oracle Textでは、英語、中国語(繁体字および簡体字)、デンマーク語、オランダ語、フィンランド語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語およびスウェーデン語に対して、デフォルトのストップリストが提供されています。
D.5 ナレッジ・ベース
Oracle Textのナレッジ・ベースは、索引付け、ABOUT
問合せ、およびドキュメント・サービスの導出テーマに使用される概念の階層ツリーです。
Oracle Textで提供されているナレッジ・ベースは、英語とフランス語のみです。これらのナレッジ・ベースはデフォルトでインストールされます。
シングルバイトの空白で区切られた言語の独自のナレッジ・ベースをロードして、スペイン語など、英語やフランス語以外の言語に対してテーマ機能を拡張できます。
D.6 多言語機能のマトリックス
次の表に、サポートされている言語の多言語機能の概要を示します。
表D-5 サポートされている言語の多言語機能
言語 | 代替スペル | ファジー・マッチング | 言語固有レクサー | デフォルト・ストップリスト | ステミング |
---|---|---|---|---|---|
英語 |
該当なし |
はい |
はい |
はい |
はい |
ドイツ語 |
はい |
はい |
はい |
はい |
はい |
日本語 |
該当なし |
はい |
はい |
いいえ |
はい |
フランス語 |
該当なし |
はい |
はい |
はい |
はい |
スペイン語 |
該当なし |
はい |
はい |
はい |
はい |
イタリア語 |
該当なし |
はい |
はい |
はい |
はい |
オランダ語 |
該当なし |
はい |
はい |
はい |
はい |
ポルトガル語 |
該当なし |
はい |
はい |
はい |
はい |
韓国語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
中国語(簡体字) |
該当なし |
いいえ |
はい |
はい |
はい |
中国語(繁体字) |
該当なし |
いいえ |
はい |
はい |
はい |
デンマーク語 |
はい |
いいえ |
はい |
いいえ |
はい |
スウェーデン語 |
はい |
いいえ |
はい |
はい |
はい |
フィンランド語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
アラビア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ギリシャ語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ノルウェー語(ブークモール) |
該当なし |
いいえ |
はい |
いいえ |
はい |
ポーランド語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ロシア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
スロベニア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
タイ語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
カタロニア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
クロアチア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ヘブライ語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ノルウェー語(ニーノシュク) |
該当なし |
いいえ |
はい |
いいえ |
はい |
セルビア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
トルコ語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
チェコ語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ハンガリー語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
ペルシア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |
スロバキア語 |
該当なし |
いいえ |
はい |
いいえ |
はい |