ユーザー辞書を作成する (Office SharePoint Server 2007)

ユーザー辞書とは、Unicode でエンコードされたファイルで、同じ言語用のワード ブレーカが完全語と見なす単語の指定に使用できます。既定のユーザー辞書はありません。複数の言語についてワード ブレーカの動作を変更するには、動作を変更する言語別にユーザー辞書を作成する必要があります。言語に依存しないワード ブレーカ用のユーザー辞書は作成できません。

注意

カスタム ディクショナリは、ファーム内のすべての共有サービス プロバイダに適用されます。

次の表に、Microsoft Office SharePoint Server 2007 でサポート ディクショナリがサポートされる言語と地域を示します。また、サポートされている各言語および地域の言語コード ID (LCID) および 16 進コードも示します。

各言語の 16 進コードで、冒頭の 2 桁の数字は地域を表し、末尾の 2 桁の数字は言語を表します。地域別のワード ブレーカが個別に存在しない言語の場合、16 進コードの最初の 2 桁は常にゼロになります。

表 1 - サポートされている言語

言語/地域 LCID 言語の 16 進コード

アラビア語

1025

0001

ベンガル語

1093

0045

ブルガリア語

1026

0002

カタルニア語

1027

0003

クロアチア語

1050

001a

デンマーク語

1030

0006

ドイツ語

1043

0013

英語

1033

0009

フランス語

1036

000c

ドイツ語

1031

0007

グジャラート語

1095

0047

ヘブライ語

1037

000d

ヒンディー語

1081

0039

アイスランド語

1039

000f

インドネシア語

1057

0021

イタリア語

1040

0010

日本語

1041

0011

カンナダ語

1099

004b

ラトビア語

1062

0026

リトアニア語

1063

0027

マレー語

1086

003e

マラヤーラム語

1100

004c

マラーティー語

1102

004e

ノルウェー語 (ボークモール)

1044

0414

ポルトガル語

2070

0816

ポルトガル語 (ブラジル)

1046

0416

パンジャブ語

1094

0046

ルーマニア語

1048

0018

ロシア語

1049

0019

セルビア語 (キリル)

3098

0c1a

セルビア語 (ラテン)

2074

081a

スロバキア語

1051

001b

スロベニア語

1060

0024

スペイン語

3082

000a

スウェーデン語

1053

001d

タミール語

1097

0049

テルグ語

1098

004a

ウクライナ語

1058

0022

ウルドゥー語

1056

0020

ベトナム語

1066

002a

カスタム ディクショナリを使用する理由

ユーザー辞書は、特定言語のワード ブレーカで、特定の単語を無視するため、つまり単語を分割しないために使用します。ユーザー辞書が必要かどうか、および必要な場合はどの単語 (エントリ) を含めるべきかを判断するには、ワード ブレーカの動作を理解しておくと役に立ちます。

ワード ブレーカは、コンテンツのインデックス作成時に、単語をトークンに分割するために、インデックス システムによって使用されます。ワード ブレーカは、クエリ システムがクエリ内の単語をトークンに分割するときにも使用されます。どちらのケースでも、使用するワード ブレーカの言語をサポートするユーザー辞書が既に作成されている場合は、Office Server Search Service によって、ユーザー辞書に対象の単語が存在するかどうかが判別されてから、その単語にワード ブレーカを使用するかどうかが判別されます。ユーザー辞書に、対象の単語がない場合、ワード ブレーカは通常どおりに動作するので、その単語は複数の単語またはトークンに分割されます。ユーザー辞書に対象の単語がある場合、その単語に対しては何も行われません。

次の例では、ワード ブレーカの一般的な動作と、ユーザー辞書のエントリが、ワード ブレーカの動作にどのように影響するかを説明します。

例 1

特定のワード ブレーカでは、IT&T のような単語は、アンパサンド記号 (&) のところで分割されます。その結果、"IT" という単語と文字 "T" に分かれます。文字 "T" は、ほとんどの言語のワード ブレーカで、ノイズ ワードとして破棄されます。ただし、使用するワード ブレーカと同じ言語のユーザー辞書に IT&T という単語がある場合、ワード ブレーカで単語 IT&T は無視されます。つまり、フル クロールの実行時に、この単語は IT&T としてインデックス付けされます。ユーザーが単語 IT&T のクエリを入力しても、ワード ブレーカはこの単語を分割しません。"IT" または "T" を含むクエリでは、これらの文字列を個別に含むドキュメントは検索結果に返されませんが、"IT&T" を含むドキュメントは検索結果に返されます。

例 2

SystemicChemicalNames (SCN) または CAS 番号のような用語は、ワード ブレーカの動作対象になります。たとえば、ワード ブレーカは、通常、ハイフンの前後の数字や、その他の特殊文字とその後の数字を分割します。たとえば、7782-44-7 という CAS 番号は、酸素の CAS 登録番号を表しますが、この登録番号は、ワード ブレーカの処理後に、7782、44、7 の 3 つの部分に分割されます。コーパスに表れる SCN および CAS 番号を、任意の言語のユーザー辞書に追加することにより、SCN および CAS 番号は個々の数字に分割されずにインデックス付けされるようになります。クエリ時に、そのコンテンツの言語用の適切なワード ブレーカとユーザー辞書が使用されるので、ユーザーが SCN または CAS 番号をクエリに含めても、その番号は分割されません。

正規化と類義語辞典ファイル

一般的にワード ブレーカによって適用される、日付の正規化などの名前付きエンティティの正規化は、ユーザー辞書のクエリ用語には適用されません。ユーザー辞書上のすべてのクエリ用語は、完全一致として扱われます。類義語辞典ファイルに、(前述したような) 単語や数字がある場合、この動作について考慮しておくことが特に大切です。たとえば、CAS 番号 "7782-44-7" が類義語辞典の拡張セットにあり、ワード ブレーカがこの番号をハイフンで 3 つに分割してしまう場合、この番号を含む拡張セットは、適切に機能していないことが考えられます。この場合、CAS 番号 "7782-44-7" を適切な言語のユーザー辞書に追加すると、問題が解決します。

はじめに

ユーザー辞書は、簡単に作成または変更できます。ユーザー辞書は Unicode 形式の単純なファイルで、エントリ (ユーザーが指定する単語) を、復帰 (CR) や改行 (LF) で個別の行に区切ったものです。ユーザー辞書にエントリを追加する場合は、予期しない結果を避けるため、次の規則について考慮してください。

  • エントリでは、大文字と小文字は区別されません。

  • ユーザー辞書には、パイプ (|) 文字を使用できません。

  • ユーザー辞書には、空白文字を使用できません。

  • シャープ記号 (#) は、エントリの冒頭には使用できませんが、エントリ中やエントリの末尾には使用できます。

  • パイプ、シャープ記号、空白文字以外の、英数字、句読点、記号、改行文字は使用できます。

  • エントリの最大長は 128 文字です (Unicode)。

次の表に、サポートされているエントリとサポートされていないエントリの例を示します。

表 2 - サポートされているエントリとサポートされていないエントリの例

サポートされている サポートされていない

dogfood

dog food

3#

#3

Four#sale

dog|food

ASP.NET

IT&T

(2-Methoxymethylethoxy)propanol

34590-97-8

C7H1603

ユーザー辞書のエントリ数に制限はありませんが、合計サイズが 2 GB を超えないようにすることをお勧めします。実際には、エントリ数を数千個程度に制限することをお勧めします。

ユーザー辞書を作成する

ユーザー辞書を作成する前に、前述の「はじめに」をお読みください。ユーザー辞書でサポートされているエントリとサポートされていないエントリの違いを理解しておくことは重要です。

注意

この手順を実行するには、サーバー ファーム内の各インデックス サーバーおよびクエリ サーバーについて、Administrators グループのメンバである必要があります。

ユーザー辞書を作成するには

  1. インデックス サーバーに Administrators グループのメンバとしてログオンします。

  2. メモ帳を開いて、ユーザー辞書に含める単語を入力します。「はじめに」で説明した無効なエントリは入力しないようにしてください。

    ヒント

    各単語は、復帰 (CR) や改行 (LF) で区切った個別の行に入力する必要があることに注意してください。

  3. [ファイル] メニューの [名前を付けて保存] をクリックします。

  4. [ファイルの種類] の一覧で [すべてのファイル] を選択します。

  5. [エンコード] 一覧で [Unicode] を選択します。

  6. [ファイル名] ボックスに、CustomNNNN.lex の形式でファイル名を入力します。ここで、NNNN はユーザー辞書の作成に使用する言語の 16 進コードです。サポートされている言語および言語の 16 進コードに関する有効なファイル名の一覧については、前述の表 1 を参照してください。

  7. [保存先] の一覧で、ワード ブレーカが含まれているフォルダに移動します。既定では、これは drive:\program files\Microsoft Office Servers\12\bin です。ここで、drive は、Office SharePoint Server 2007 がインストールされているドライブのドライブ文字です。

  8. [保存] をクリックします。

    インデックス サーバーとは別のクエリ サーバーが存在する場合にのみ、次の手順を実行します。そうでない場合は、「Office SharePoint Server Search サービスを停止して再開する」に進んでください。

ユーザー辞書を他のサーバーにコピーする

  1. インデックス サーバーに Administrators グループのメンバとしてログオンします。

  2. ユーザー辞書ファイルを保存したフォルダに移動します。

  3. カスタム ディクショナリを、最初のクエリ サーバーのワード ブレーカが含まれているフォルダにコピーします。既定では、これは drive:\program files\Microsoft Office Servers\12\bin です。ここで、drive は、Office SharePoint Server 2007 がインストールされているドライブのドライブ文字です。

  4. 影響を受けるコンテンツのフル クロールを実行します。フル クロール実行の詳細については、「コンテンツをクロールする (Office SharePoint Server 2007)」を参照してください。

  5. サーバー ファーム内の各クエリ サーバー上で手順 1. ~ 3. を繰り返します。

Office SharePoint Server Search サービスを停止して再開する

すべてのインデックス サーバーおよびクエリ サーバーで、OSearch サービスを再起動します。

重要

これらのサービスを停止または開始するのに、サーバーの全体管理の [サーバーのサービス] ページを使用しないでください。このページを使用した場合は、サービスが削除され、インデックスおよび関連する構成が消去されます。代わりに、次の手順を使用してください。

Office SharePoint Server Search サービスを停止して再開するには

  1. Administrators グループのメンバとして、インデックス サーバーにログオンします。

  2. [スタート] メニューで、[すべてのプログラム] をポイントします。次に、[管理ツール] をポイントし、[サービス] をクリックします。

  3. 一覧をスクロール ダウンし、[ Office SharePoint Server Search サービス] を右クリックして、[プロパティ] をクリックします。

  4. [停止] をクリックします。サービスを停止したら、[開始] をクリックします。

  5. [スタートアップの種類] が [無効] に設定されていないことを確認します。

  6. サーバー ファーム内にインデックス サーバーとは別のクエリ サーバーが存在する場合は、各クエリ サーバー上で手順 1. ~ 5. を繰り返します。

フル クロールを実行します。

カスタム ディクショナリにコンテンツ インデックスを適用するには、カスタム ディクショナリに追加する単語を含むすべてのコンテンツ ソースに対して、フル クロールを実行する必要があります。フル クロールの実行の詳細については、「コンテンツをクロールする (Office SharePoint Server 2007)」を参照してください。