ユーザー辞書を作成する

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

ユーザー辞書とは、特定の言語のワード ブレーカーがインデックス時またはクエリ時に分割できないものとして処理するトークンを指定するために、管理者が作成するファイルです。 ユーザー辞書ファイルは製品には付属していません。 ワード ブレーカーの動作を変更する言語ごとに、ユーザー辞書を別個に作成する必要があります。

注:

言語ごとに 1 つのユーザー辞書が、サーバー ファーム内のすべての Search Service アプリケーションに適用されます。

この記事の内容

  • ユーザー辞書を使用する理由

  • ユーザー辞書作成時の規則

  • ユーザー辞書を作成する

  • ユーザー辞書を各アプリケーション サーバーにコピーする

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

  • フル クロールを実行する

  • サポートされている言語

ユーザー辞書を使用する理由

ユーザー辞書が必要かどうか、およびユーザー辞書に含める必要があるエントリを把握するには、ワード ブレーカーの動作を理解する必要があります。 インデックス作成システムは、クロールされたコンテンツのインデックスを作成するときにワード ブレーカーを使用してトークンを分割し、クエリ プロセッサはクエリでワード ブレーカーを使用します。 いずれの場合も、使用されているワード ブレーカーの言語と方言をサポートするユーザー辞書が存在する場合、検索システムは、その単語にワード ブレーカーを使用するかどうかを決定する前に、ユーザー辞書内の単語をチェックします。 単語がユーザー辞書に存在しない場合、ワード ブレーカーは通常のアクションを実行します。これにより、トークンが複数のトークンに分割される可能性があります。 トークンがユーザー辞書に存在する場合、ワード ブレーカーはそのトークンに対してアクションを実行しません。 次の 2 つの例では、一般的なワード ブレーカーの動作と、ユーザー辞書のエントリがその動作にどのように影響するかを説明します。

  • ワード ブレーカーによって、"IT&T" というトークンは、アンパサンド (&) の前後で "IT"、"&"、および "T" の 3 つのトークンに分割されることがあります。 ただし、使用するワード ブレーカーと同じ言語のユーザー辞書に "IT&T" というトークンを登録すると、(クロール時やクエリ時に) そのトークンは分割されなくなります。 ユーザー辞書に "IT&T" が登録されていると、ドキュメントに "IT" も "T" も含まれず "IT&T" は含まれている場合、"IT" と "T" を含み "IT&T" を含ないクエリの結果セットには、そのドキュメントは返されません。

  • Chemical Abstracts Service (CAS) 登録番号のような単語は、ワード ブレーカーの影響を受ける可能性があります。 たとえば、ワード ブレーカーは、通常、ハイフンなどの特殊文字の前後の数字を別個の数字として分割します。 たとえば、酸素の CAS 登録番号は 7782-44-7 です。 この CAS 登録番号は、ワード ブレーカーの処理後に、7782、44、7 の 3 つの部分に分割されます。 コーパスに表れる CAS 登録番号をユーザー辞書に追加することにより、検索システムがそれぞれの番号のインデックスを作成するときに、個々の数字への分割が行われなくなります。

正規化とシソーラス ファイル

通常はワード ブレーカーによって適用される、日付の正規化などの名前付きエンティティの正規化は、ユーザー辞書の用語には適用されません。 ユーザー辞書上のすべての用語は、一致として扱われます。 シソーラス ファイルに単語や数字がある場合、この点は特に大切です。 たとえば、CAS 登録番号 "7782-44-7" がシソーラスの拡張セットにあり、ワード ブレーカーがこの番号をハイフンで 3 つに分割してしまう場合、この番号を含む拡張セットは適切に機能しない可能性があります。 この場合、CAS 登録番号 "7782-44-7" を適切な言語のユーザー辞書に追加すると、問題が解決します。 類義語辞典ファイルの使用方法については、「 SharePoint Server で類義語辞典を作成して展開する」を参照してください。

ユーザー辞書作成時の規則

ユーザー辞書は Unicode 形式のファイルです。 各エントリは個別の行に記述し、復帰 (CR) および改行 (LF) で区切る必要があります。 ユーザー辞書にエントリを追加する場合は、予期しない結果を避けるため、次の規則について考慮してください。

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

  • パイプ (|) 文字は使用できません。

  • 空白文字は使用できません。

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

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

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

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

表 1 - ユーザー辞書ファイルでサポートされているエントリとサポートされていないエントリの例

サポート サポートされていない
dogfood dog food
3# #3
For#sale For|sale
ASP.NET
IT&T
(2-メトキシメチルエトキシ)プロパノール
34590-97-8
C7H1603

ユーザー辞書のエントリ数の上限は 10,000 です。 この制限を変更できる設定はありません。 ただし、ユーザー辞書ファイルの合計ファイル サイズは 2 ギガバイト (GB) を超えないようにすることをお勧めします。 実際には、エントリの数を数千に制限することをお勧めします。

ユーザー辞書を作成する

ユーザー辞書を作成するには、以下の手順を実行します。

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

  1. この手順を実行するユーザー アカウントが、ローカル コンピューターの Administrators グループのメンバーであることを確認します。

  2. クロール サーバーにログオンします。

  3. テキスト エディターで新しいファイルを開きます。

    前の「ユーザー辞書作成時の規則」の規則に従って、ユーザー辞書に登録する単語を入力します。

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

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

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

  7. [ ファイル名 ] ボックスに、ファイル名を次の形式で入力します:CustomNNNN.lex。"Custom" はリテラル文字列、 NNNN はユーザー辞書を作成する言語の 4 桁の 16 進数コード、lex はファイル名拡張子です。 サポートされている言語と方言の有効なファイル名の一覧については、この記事の後半の「サポートされている言語」を参照してください。

  8. [保存先] の一覧で、ワード ブレーカーが保存されているフォルダーを参照します。 既定では、このフォルダーは %ProgramFiles%\Microsoft Office Servers\14.0\Bin for SharePoint Server 2010、%ProgramFiles%\Microsoft Office Servers\15.0\Bin for SharePoint Server 2013、%ProgramFiles%\Microsoft Office Servers\16.0\Bin for SharePoint Server 2016 および SharePoint Server 2019 です。

    注:

    ユーザー辞書ファイルは、ローカル ファイル システムのこのフォルダーに保存されている場合のみ使用できます。 たとえば、SharePoint サイトのみに保存されているユーザー辞書ファイルは使用できません。

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

  10. ファーム内に他のクロール サーバーも他のクエリ サーバーもない場合は、「SharePoint Server Search 14 サービスを停止して再開する」へ進みます。 他のクロール サーバーまたは他のクエリ サーバーがある場合は、次の手順「ユーザー辞書を各アプリケーション サーバーにコピーする」へ進みます。

ユーザー辞書を各アプリケーション サーバーにコピーする

ファーム内の各アプリケーション サーバーにユーザー辞書のコピーを置く必要があります。

ユーザー辞書を各アプリケーション サーバーにコピーするには

  1. この手順を実行するユーザー アカウントが、ファーム内の各アプリケーション サーバー (各クロール サーバーまたはクエリ サーバー) の Administrators グループのメンバーであることを確認します。

  2. ファーム内の各アプリケーション サーバーで、ワード ブレーカーが保存されているフォルダーにユーザー辞書ファイルをコピーします。 既定では、このフォルダーは %ProgramFiles%\Microsoft Office Servers\14.0\Bin for SharePoint Server 2010、%ProgramFiles%\Microsoft Office Servers\15.0\Bin for SharePoint Server 2013、%ProgramFiles%\Microsoft Office Servers\16.0\Bin for SharePoint Server 2016 および SharePoint Server 2019 です。

    注:

    ユーザー辞書ファイルは、ローカル ファイル システムのこのフォルダーに保存されている場合のみ使用できます。 たとえば、SharePoint サイトのみに保存されているユーザー辞書ファイルは使用できません。

各アプリケーション サーバーで SharePoint Server Search 14/15/16 サービスを停止して再起動する

SharePoint Server Search 14 (SharePoint Server 2010 の場合)、SharePoint Server Search 15 (SharePoint Server 2013 の場合)、または SharePoint Server Search 16 (SharePoint Server 2016 および SharePoint Server 2019) サービスをファーム内の各アプリケーション サーバーで再起動する必要があります。

重要

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

各アプリケーション サーバーで SharePoint Server Search 14/15/16 サービスを停止して再起動するには

  1. この手順を実行するユーザー アカウントが、ローカル コンピューターの Administrators グループのメンバーであることを確認します。

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

  3. SharePoint Server Search 14 (SharePoint Server 2010 の場合)、SharePoint Server Search 15 (SharePoint Server 2013 の場合)、または SharePoint Server Search 16 (SharePoint Server 2016 および SharePoint Server 2019) サービスを右クリックし、[プロパティ] をクリックします。 [ プロパティ] ダイアログが表示されます。

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

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

  6. ファーム内のアプリケーション サーバー (クロール サーバーおよびクエリ サーバー) ごとにこの手順を繰り返します。

フル クロールを実行する

コンテンツ インデックスにユーザー辞書を適用するには、ユーザー辞書に追加したトークンを含むコンテンツに対して、フル クロールを実行する必要があります。 フル クロールの実行については、「 SharePoint Server でのクロールの管理」を参照してください。

サポートされている言語

次の表は、SharePoint Server 2010 がユーザー辞書をサポートする言語と方言を示しています。 言語に依存しないワード ブレーカー用のユーザー辞書は作成できません。 この表には、サポートされている各言語および地域の言語コード ID (LCID) および 16 進コードも示します。 16 進コードの上 2 桁の数字は地域を表し、下 2 桁の数字は言語を表します。 地域別のワード ブレーカーが個別に存在しない言語の場合、16 進コードの上 2 桁は常にゼロになります。

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

言語/地域 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
Malay 1086 003e
マラヤーラム語 1100 004c
マラーティー語 1102 004e
Norwegian_Bokmaal 1044 0414
ポルトガル語 2070 0816
Portuguese_Braz 1046 0416
パンジャブ語 1094 0046
ルーマニア語 1048 0018
ロシア語 1049 0019
Serbian_Cyrillic 3098 0c1a
Serbian_Latin 2074 081a
スロバキア語 1051 001b
スロベニア語 1060 0024
スペイン語 3082 000a
スウェーデン語 1053 001d
タミール語 1097 0049
テルグ語 1098 004a
ウクライナ語 1058 0022
ウルドゥ語 1056 0020
ベトナム語 1066 002a