ユーザー辞書とは、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 によって、ユーザー辞書に対象の単語が存在するかどうかが判別されてから、その単語にワード ブレーカを使用するかどうかが判別されます。ユーザー辞書に、対象の単語がない場合、ワード ブレーカは通常どおりに動作するので、その単語は複数の単語またはトークンに分割されます。ユーザー辞書に対象の単語がある場合、その単語に対しては何も行われません。
次の例では、ワード ブレーカの一般的な動作と、ユーザー辞書のエントリが、ワード ブレーカの動作にどのように影響するかを説明します。
特定のワード ブレーカでは、IT&T のような単語は、アンパサンド記号 (&) のところで分割されます。その結果、"IT" という単語と文字 "T" に分かれます。文字 "T" は、ほとんどの言語のワード ブレーカで、ノイズ ワードとして破棄されます。ただし、使用するワード ブレーカと同じ言語のユーザー辞書に IT&T という単語がある場合、ワード ブレーカで単語 IT&T は無視されます。つまり、フル クロールの実行時に、この単語は IT&T としてインデックス付けされます。ユーザーが単語 IT&T のクエリを入力しても、ワード ブレーカはこの単語を分割しません。"IT" または "T" を含むクエリでは、これらの文字列を個別に含むドキュメントは検索結果に返されませんが、"IT&T" を含むドキュメントは検索結果に返されます。
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 グループのメンバである必要があります。
インデックス サーバーに Administrators グループのメンバとしてログオンします。
メモ帳を開いて、ユーザー辞書に含める単語を入力します。「はじめに」で説明した無効なエントリは入力しないようにしてください。
ヒント
各単語は、復帰 (CR) や改行 (LF) で区切った個別の行に入力する必要があることに注意してください。
[ファイル] メニューの [名前を付けて保存] をクリックします。
[ファイルの種類] の一覧で [すべてのファイル] を選択します。
[エンコード] 一覧で [Unicode] を選択します。
[ファイル名] ボックスに、CustomNNNN.lex の形式でファイル名を入力します。ここで、NNNN はユーザー辞書の作成に使用する言語の 16 進コードです。サポートされている言語および言語の 16 進コードに関する有効なファイル名の一覧については、前述の表 1 を参照してください。
[保存先] の一覧で、ワード ブレーカが含まれているフォルダに移動します。既定では、これは drive:\program files\Microsoft Office Servers\12\bin です。ここで、drive は、Office SharePoint Server 2007 がインストールされているドライブのドライブ文字です。
[保存] をクリックします。
インデックス サーバーとは別のクエリ サーバーが存在する場合にのみ、次の手順を実行します。そうでない場合は、「Office SharePoint Server Search サービスを停止して再開する」に進んでください。
インデックス サーバーに Administrators グループのメンバとしてログオンします。
ユーザー辞書ファイルを保存したフォルダに移動します。
カスタム ディクショナリを、最初のクエリ サーバーのワード ブレーカが含まれているフォルダにコピーします。既定では、これは drive:\program files\Microsoft Office Servers\12\bin です。ここで、drive は、Office SharePoint Server 2007 がインストールされているドライブのドライブ文字です。
影響を受けるコンテンツのフル クロールを実行します。フル クロール実行の詳細については、「コンテンツをクロールする (Office SharePoint Server 2007)」を参照してください。
サーバー ファーム内の各クエリ サーバー上で手順 1. ~ 3. を繰り返します。
すべてのインデックス サーバーおよびクエリ サーバーで、OSearch サービスを再起動します。
重要
これらのサービスを停止または開始するのに、サーバーの全体管理の [サーバーのサービス] ページを使用しないでください。このページを使用した場合は、サービスが削除され、インデックスおよび関連する構成が消去されます。代わりに、次の手順を使用してください。
Administrators グループのメンバとして、インデックス サーバーにログオンします。
[スタート] メニューで、[すべてのプログラム] をポイントします。次に、[管理ツール] をポイントし、[サービス] をクリックします。
一覧をスクロール ダウンし、[ Office SharePoint Server Search サービス] を右クリックして、[プロパティ] をクリックします。
[停止] をクリックします。サービスを停止したら、[開始] をクリックします。
[スタートアップの種類] が [無効] に設定されていないことを確認します。
サーバー ファーム内にインデックス サーバーとは別のクエリ サーバーが存在する場合は、各クエリ サーバー上で手順 1. ~ 5. を繰り返します。
カスタム ディクショナリにコンテンツ インデックスを適用するには、カスタム ディクショナリに追加する単語を含むすべてのコンテンツ ソースに対して、フル クロールを実行する必要があります。フル クロールの実行の詳細については、「コンテンツをクロールする (Office SharePoint Server 2007)」を参照してください。