![]() ![]() ![]() ![]() ![]() ![]() | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
第5章
この章では、フェッチについて説明します。また、exteNd Director検索アプリケーションでフェッチを実装する方法についても説明します。
この章では、次のトピックについて説明します。
コンテンツのフェッチに関連する2つのプロセスは、次のとおりです。
exteNd Directorには、exteNd Director CMリポジトリ用のデータフェッチャがあります。CMフェッチャでは、CMリポジトリに保存されているデータでのみAutonomyベース概念検索を実行できます。
CMフェッチャが自動的に開始するプロセスは、次のとおりです。
プロセス |
説明 |
---|---|
フェッチ |
インデックス作成のためにデータをCMリポジトリからexteNd Director DREデータベースにインポートします。 |
同期化 |
インデックスが作成されるように、CMリポジトリでの更新を対応するDREデータベースに転送します。 |
フェッチは、同期化が実行されると開始します。同期モードで説明されているように、リアルタイムまたはバッチプロセスとして同期化を実行するようにスケジュール設定できます。
リアルタイム(または即時)の同期化では、即時同期化を起動する操作で説明されているように、プロセスを起動するアクションを指定できます。
デフォルトでは、同期化は、即時モードでリアルタイムプロセスとして発生し、次のいずれかのCM操作が発生したときに行われます。
CMリポジトリ以外のデータソースを使用する場合、Autonomy, Inc.の別売りデータフェッチャを購入する必要があります。
Autonomyの別売りデータフェッチャを購入する場合、アプリケーションでのフェッチの実装で説明されているように、Search APIを使用してフェッチプロセスをプログラムで開始する必要があります。また、データフェッチャ記述子で説明されているように、使用する各データフェッチャの記述子を作成する必要もあります。
exteNd Director Search APIは、コンテンツをフェッチするメソッドを提供するAutonomy APIにラッパクラスを提供しています。
コンテンツをフェッチする主なクラスおよびインタフェースは、次のとおりです。
この節では、exteNd Directorアプリケーションでデータフェッチを実行する場合に使用できるSearch APIメソッドについて説明します。
フェッチャ委任を取得するメソッドは、次のとおりです。
com.sssw.search.client.EboFactory.getDataFetcherDelegate()
このメソッドは、EbiDataFetcherDelegateインタフェースを実装するオブジェクトを返します。このオブジェクトのメソッドは、データフェッチプロセスの呼び出しおよび管理に使用できます。
委任を使用する理由については、プログラムを使用した例を参照してください。
データをフェッチするメソッドは、次のとおりです。
com.sssw.search.API.EbiDataFetcherDelegate.fetchData()
このメソッドは、ドキュメントデータをソースリポジトリから宛先クエリエンジンデータベースにフェッチします。
次のコードは、Search APIを使用してフェッチプロセスを開始する方法を示します。
... //Instantiate a data fetcher delegate com.sssw.search.api.EbiDataFetcherDelegate fetcher = com.sssw.search.client.EboFactory.getDataFetcherDelegate(whichFetcher); //Fetch the data fetcher.fetchData(context, false); ...
getDataFetcherDelegate()メソッドは、インスタンス化するデータフェッチャを指定する文字列引数を取ります。各データフェッチャでは、次のデータフェッチャ記述子で説明されているように記述子が必要です。
記述子はAutonomyから購入した各データフェッチャに対して作成する必要があります。exteNd Directorは、CMデータフェッチャの記述子を提供します。
データフェッチャ記述子をSearchサブシステムのサービス環境設定ファイルservices.xmlに追加します。
プロジェクトファイルのある場所の詳細については、『exteNd Directorアプリケーションの開発』のexteNd Directorプロジェクト構造に関する節を参照してください。
services.xmlのデータフェッチャ記述子の構文は、Search APIのデータフェッチャインタフェースとデータフェッチャ実装クラス間のマッピングを設定します。
このマッピングは、exteNd Directorで提供されているCMデータフェッチャの記述子で説明されます。
<service> <interface>com.sssw.search.api.EbiDataFetcher.CM</interface> <impl-class>com.sssw.cm.core.EboDataFetcher</impl-class> <description>Data fetcher object for the Content Management subsystem</description> <max-instances>0</max-instances> <startup>M</startup> <namespaced>false</namespaced> </service>
<interface>要素の文字列CMは、コード例:データのフェッチで説明されているように、文字列引数としてgetDataFetcherDelegate()メソッドに渡し、フェッチプロセスを開始するデータフェッチャ指定子の例です。
これは、任意のデータフェッチャ記述子で使用する構文です。たとえば、クラスcom.sssw.myco.Fetcherで定義されているMYCOというカスタムデータを購入または作成する場合、次のような記述子を追加する必要があります。
<service> <interface>com.sssw.search.api.EbiDataFetcher.MYCO</interface> <impl-class>com.sssw.myco.Fetcher</impl-class> <description>Data fetcher object for MYCO</description> <max-instances>0</max-instances> <startup>M</startup> <namespaced>false</namespaced> </service>
追加する各データフェッチャに対して、関連するクエリ結果オブジェクト記述子を追加することもできます。CMデータフェッチャに定義されているクエリ結果オブジェクトに対するservices.xmlの記述子は、次のとおりです。
<service> <interface>com.sssw.search.api.EbiQueryResult.CM</interface> <impl-class>com.sssw.cm.core.EboQueryResult</impl-class> <description>Query result object for the Content Management subsystem</description> <max-instances>0</max-instances> <startup>M</startup> <namespaced>false</namespaced> </service>
CMクエリ結果オブジェクトをMYCOデータフェッチャと関連付ける場合、次のような記述子を追加する必要があります。
<service> <interface>com.sssw.search.api.EbiQueryResult.MYCO</interface> <impl-class>com.sssw.cm.core.EboQueryResult</impl-class> <description>Query result object for MYCO</description> <max-instances>0</max-instances> <startup>M</startup> <namespaced>false</namespaced> </service>
次のように、同じ構文を使用して、カスタムクエリ結果オブジェクトの記述子を作成します。
<service> <interface>com.sssw.search.api.EbiQueryResult.MYCO</interface> <impl-class>com.sssw.myco.webapp.impl.MycoQueryResult</impl-class> <description>Query result object for MYCO</description> <max-instances>0</max-instances> <startup>M</startup> <namespaced>false</namespaced> </service>
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...