|
WebLogic Portal では、全文検索および複数の言語でのインデックスをコンフィグレーションする複数のメソッドが提供されます。各メソッドにはさまざまな機能があります。リポジトリに基づいて、どのメソッドを使用するかを決定する必要があります。後でメソッドを変更する場合、リポジトリを再インデックスする必要があります。インデックスした各ドキュメントを 1 つの言語にのみ関連付けることができます。
次の節では、全文検索の方法およびそれらのコンフィグレーションの方法について説明します。
リポジトリによって、どのアプローチが望ましいかを決定する必要があります。<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/common/docs にある WebLogic Portal インストール ディレクトリに含まれる Autonomy ドキュメントを参照する必要があります。
Autonomy サーバのデフォルト コンフィグレーションは、そのサーバを使用するすべてのリポジトリで 1 つの言語および 1 つのエンコーディングです。複数の言語に対してこのコンフィグレーションを使用する場合、各言語にそれぞれ別の Autonomy サーバが必要です。この場合は、同じ LanguageType (言語およびエンコーディング) を使用するには、すべてのインデックス付きのコンテンツおよびそのコンテンツに対するすべての全文クエリをコンフィグレーションする必要があります。
たとえば、単一 Autonomy サーバにアクセスする 3 つのリポジトリがあります。3 つのリポジトリすべてが FrenchUTF8 などの同じ LanguageType を使用する必要があり、各リポジトリにインデックスされるドキュメントはすべてフランス語である必要があります。また、すべてのリポジトリの全クエリを、UTF8 エンコーディングでフランス語にする必要があります。2 つの言語が必要である場合、2 つの Autonomy サーバ、および 2 つのリポジトリを設定し、各サーバにデフォルトの言語タイプを手動でコンフィグレーションする必要があります。
サーバのデフォルト言語タイプを設定するには、サーバのコンフィグレーション ファイル (AutonomyIDOLServer.cfg) の [LanguageTypes] セクションで DefaultLanguageType を編集します。グローバル デフォルト言語タイプの定義の詳細については、<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/common/docs にある『IDOL サーバ管理ガイド』を参照してください。
同じ Autonomy サーバに異なる言語の複数のリポジトリを混在させるには、各リポジトリに対して言語およびエンコーディングを指定する必要があります。つまり、リポジトリのすべてのノードおよびすべてのクエリでは同じ言語タイプおよびエンコーディングを使用する必要があります。言語タイプおよびエンコーディングは、LanguageType によって定義されます。言語タイプの例は、frenchUTF8 (フランス語、UTF8 エンコーディング)、frenchASCII および russianCYRILLIC です。frenchUTF8 などの言語タイプを使用する場合、French-UTF8 リポジトリのすべてのドキュメントはフランス語であり、そのリポジトリのすべてのクエリは UTF8 エンコーディングでフランス語である必要があります。
サポートされている言語タイプは、<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/<os>/IDOLserver/ ディレクトリにあるサーバのコンフィグレーション ファイル (
IDOLAutonomyIDOLServer.cfg) の [LanguageTypes] セクションに示します。
このアプローチを使用するには、リポジトリ コンフィグレーションに 2 つのプロパティを追加する必要があります。たとえば、UTF8 エンコーディングでフランス語を使用するには、以下のことを追加します。
一般的に、これらのプロパティを同じ値に設定します。すべてのクエリは、同じ fullTextSearchQueryLanguageType 言語およびエンコーディングを使用する必要があります。
リポジトリにプロパティの追加する方法については、『コンテンツ管理ガイド』の「WLP リポジトリのコンフィグレーション」にある「カスタム プロパティの追加」を参照してください。
| 注意 : | リポジトリの接続を解除した場合や、リポジトリのプロパティの変更を行った場合は、その変更を表示するために、Portal Administration Console ユーザはログアウトしてからログインし直す必要があります。 |
リポジトリ内で複数の言語タイプのデータを混在させる場合、自動言語検出が使用できます。このアプローチは、リポジトリ コンテンツおよび検索オプションの両方に高い柔軟性を提供します。
自動言語検出によって、インデックスする際にドキュメントの言語とエンコーディングが識別され、データが言語やエンコーディングでクエリできるようになります。たとえば、エンコーディングに関係なく、フランス語およびイタリア語のマッチ、または UTF8 エンコーディングでロシア語のマッチのみ、または言語およびエンコーディングに関係なく、すべてのマッチを検索することを指定できます。
リポジトリごとに自動言語検出をコンフィグレーションします。異なるインデックスおよびクエリの機能がある 3 つの別のリポジトリを持つことができます。2 つのリポジトリは、自動言語検出を使用し、ドキュメント タイプ frenchUTF8、englishASCII および russianCYRILLIC の混在がありますが、3 番目のリポジトリには italianUTF8 ドキュメントのみが含まれます。
| 注意 : | 自動言語検出をコンフィグレーションする場合、デフォルトのコンフィグレーション (そのサーバを使用するすべてのリポジトリに渡って 1 つの言語と 1 つのエンコーディング) を使用する任意のリポジトリは、自動言語検出を使用するように自動的にコンフィグレーションされます。このことを避けるために、1 つのリポジトリにつき 1 つの言語に示すように、これらのリポジトリの各言語のタイプとエンコーディングを指定する必要があります。 |
自動言語検出を設定する場合、サーバは、インデックスする時ドキュメントの言語およびエンコーディングを自動的に識別します。自動言語検出の詳細については、<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/common/docs にある『IDOL サーバ管理ガイド』を参照してください。
| 注意 : | この機能を有効にすると、コンテンツ管理および GroupSpace リポジトリのDefaultLanguageType として定義したコンテンツ以外のコンテンツの検索に影響する場合があります。これは、この機能を有効にする場合、言語の再分類を行うためです。 |
<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/<os>/IDOLserver/IDOL ディレクトリにある AutonomyIDOLServer.cfg ファイルの [Server] セクションで AutoDetectLanguagesAtIndex を True に設定します。 fullTextSearchIndexLanguageType プロパティを設定しないでください。すでに設定されている場合、削除します。fullTextSearchQueryLanguageType=frenchUTF8
fullTextSearchQueryLanguageType の言語だけでなく、すべての言語に渡って結果を返すように指定します。fullTextSearchQueryAnyLanguage=true
| 注意 : | インデックス中に言語タイプが自動的に決定されない場合、DefaultLanguageType が使用されます。これは、リポジトリ設定ではなく、グローバル サーバ設定です。 |
クエリは非常に柔軟で、どんな言語およびエンコーディングに設定することもできます。たとえは、UTF-8、Shift_JIS および EUC-JP エンコーディングを使用して日本語のドキュメントの結果を返すクエリを構築できます。
次の例を使用して、リポジトリからの検索結果を指定します。これらの例の詳細については、「WebLogic Portal Javadoc」を参照してください。
クエリ テキストは fullTextSearchQueryLanguageType で定義する言語およびエンコーディングがあり、エンコーディングに関係なく fullTextSearchQueryLanguageType の言語に結果がある場合、追加のコードを作成する必要がありません。
クエリ テキストは fullTextSearchQueryLanguageType で定義する言語およびエンコーディングがあり、特定のエンコーディングで fullTextSearchQueryLanguageType の言語に結果がある場合、
params = new AutonomyLanguageParameterSet();
params.setLanguageType("englishASCII");
params.setMatchEncoding("UTF8");
context.setParameter(FullTextSearchLanguageParameterSet.
QUERY_LANGUAGE_PARAMETER_SET_KEY, params);
クエリ テキストが fullTextSearchQueryLanguageType とは異なる言語およびエンコーディングに設定されている場合、ContentContext クラスにあるリポジトリ fullTextSearchQueryLanguageType をオーバーライドできます。これは、エンコーディングに関係なく、指定した LanguageType 言語で結果を返します。
params = new AutonomyLanguageParameterSet();
params.setLanguageType("englishASCII");
context.setParameter(FullTextSearchLanguageParameterSet.
QUERY_LANGUAGE_PARAMETER_SET_KEY, params);
クエリ テキストが 1 つの言語およびエンコーディングに設定されており、全言語にわたってクエリする場合、
params = new AutonomyLanguageParameterSet();
params.setLanguageType("englishASCII");
params.setAnyLanguage(true);
context.setParameter(FullTextSearchLanguageParameterSet.
QUERY_LANGUAGE_PARAMETER_SET_KEY, params);
クエリ テキストは 1 つの言語およびエンコーディングにあり、複数特定の言語のクエリにする場合、
params = new AutonomyLanguageParameterSet();
params.setLanguageType("englishASCII");
params.setAnyLanguage(true);
params.setMatchLanguageType("frenchASCII+germanUTF8");
context.setParameter(FullTextSearchLanguageParameterSet.
QUERY_LANGUAGE_PARAMETER_SET_KEY, params);
コンテンツ管理と GroupSpace コミュニティで、Microsoft Word(.doc)、Excel(.xls)、およびPowerPoint(.ppt)ファイルの検索とインデックスをコンフィグレーションすることができます。これらの場合は、Autonomy サーバのデフォルトのコンフィグレーション、つまり、そのサーバを使用するすべてのリポジトリにわたって 1 つの言語および 1 つのエンコーディングを使用する必要があります。詳細については、「1 つの Autonomy サーバにつき 1 つの言語」を参照してください。
また、デフォルト Autonomy サーバを使用するほか、この節に説明するようにファイル名のインデックスおよび検索のエンコーディングを設定する必要があります。これらのエンコーディングを設定しない場合、マルチバイト エンコーディングに基づくファイル名を検索できません。これらのエンコーディングは以下のファイルで設定します。
| 注意 : | サポートされている言語タイプおよびエンコーディングは、<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/<os>/ ディレクトリにある AutonomyIDOLServer.cfg ファイルの [LanguageTypes] セクションに示します。 |
omnislave.cfg ファイルにシステムのデフォルト エンコーディングを指定する必要があります。このファイルは、<WLPORTAL_HOME>/content-mgmt/thirdparty/autonomy-wlp10/<OS>/filters ディレクトリにあります。
AutonomyIDOLServer.cfg ファイルでは DefaultLanguageType および DefaultEncoding 設定を指定する必要があります。DefaultEncoding は、omnislave.cfg に指定される同じエンコーディングである必要があります。DefaultLanguageType は、omnislave.cfg に指定されたエンコーディングおよびドキュメントの言語に該当する言語タイプである必要があります。たとえは、Shift-JIS エンコーディングで日本語のために、以下のことを指定します。
[LanguageTypes]
DefaultLanguageType=japaneseSHIFT_JIS
DefaultEncoding=SHIFTJIS
omnislave.cfg に指定したものと同じエンコーディングを使用するには web.xml の GroupSpace エンコーディングを更新する必要もあります。(web.xml ファイルはポータル Web プロジェクトの WEB-INF ディレクトリにあります。) 次に例を示します。
<context-param>
<param-name>com.bea.apps.groupspace.search.enterprise.outputEncoding</param-name>
<param-value>SHIFTJIS</param-value>
</context-param>
<context-param>
<param-name>com.bea.apps.groupspace.search.enterprise.connectionEncoding</param-name>
<param-value>shift_jis</param-value>
</context-param>
| 注意 : | AutonomyIDOLServer.cfg および web.xml の設定は、ファイル名の検索に限定されませんが、エンタープライズ検索ではマルチバイト文字を処理するのに必要です。 |
このファイルを変更した後、ファイル名のマルチバイト文字に対して既存のコンテンツを再インデックスする必要があります。この方法の詳細については、「WLP リポジトリ コンテンツの再インデックス」を参照してください。
|