SESにおけるCustom Searchインタフェースの実装 - search.oracle.comでのケース・スタディ

Similar documents
Oracle Web CacheによるOracle WebCenter Spacesパフォーマンスの向上

AJAXを使用した高い対話性を誇るポートレットの構築

Microsoft Windows向けOracle Database 12cでのOracleホーム・ユーザーの導入

Oracle ADF 11g入門

富士通Interstage Application Server V10でのOracle Business Intelligence の動作検証

Oracle Secure Enterprise Search 10gクイック・スタート・ガイド

Oracle Enterprise Linux 5における認証

Oracleセキュア・エンタープライズ・サーチ

スケーラビリティおよび高可用性を目的としたOracle Content Database中間層の構成についてのベスト・プラクティス

Oracle Access ManagerとOracle Identity Managerの同時配置

Oracle Warehouse Builder 10 g Release 2 ビジネス・ルール主導によるデータ統合

Oracle Cloud Adapter for Oracle RightNow Cloud Service

Oracle Secure Enterprise Search 10gを使用したセキュアな検索

Oracle Warehouse Builder: 製品ロードマップ

Oracle DatabaseとIPv6 Statement of Direction

intra-mart Accel Platform

Oracle DatabaseとIPv6 Statement of Direction

Oracle WebCenter Suite よくある質問 2006 年 10 月 この FAQ は Oracle WebCenter Suite に関するよくある質問とその回答を示します Oracle WebCenter Suite は 統合された コンテキスト認識型のユーザー エクスペリエンスを

Microsoft Word - J-migratingjdevelope#110A7A.doc

Oracle Identity Analyticsサイジング・ガイド

faq Oracle Application Server 10g Oracle HTTP Server

Microsoft Word - J-jdev_dba_db_developers.doc

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Web GIS Template Uploader 利用ガイド

untitled

Oracle Application Server 10g Oracle HTTP Server FAQ

MAA/Data Guard 10g Release 2セットアップ・ガイド – RACプライマリのためのRACロジカル・スタンバイ作成

日本語タイトルを入力

Oracle Application Server 10g: Oracle Enterprise Messaging Service FAQ

Oracle Forms 12c

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

Secure Enterprise Searchバージョン1(10.1.8)

Oracle Universal Content Management ドキュメント管理 クイック・スタート・チュ-トリアル

Warehouse Builderにおける予測分析の使用

PL/SQLからのオペレーティング・システム・コマンドの実行

Statement of Direction: Oracle Fusion Middleware Oracle Business Intelligence Discoverer

Oracle Secure Enterprise Searchを使用したセキュアな検索

Microsoft Word _epm-smartview-whitepaper.doc

Oracle SQL Developer Data Modeler

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

Spring Frameworkに対するオラクルのサポート

Microsoft PowerPoint - FormsUpgrade_Tune.ppt

Oracle Data Pumpのパラレル機能

Oracle SALTを使用してTuxedoサービスをSOAP Webサービスとして公開する方法

自己管理型データベース: 自動SGAメモリー管理

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張

ArcGIS Runtime SDK for .NET アプリケーション配布ガイド

Oracle Business Rules

think9i Oracle Internet File System i を使用した ソフトウェア開発手法 日本オラクル株式会社製品本部システム製品マーケティング部 Copyright 2001 Oracle Corporation Japan. All Rights Reserved.

Android Layout SDK プログラミング マニュアル

Microsoft Word - J-sap-availability-on-rac-twp.doc

ORACLE Data Integrator

rcp-add-01:アーキテクチャ設計書

Oracle Business Intelligence Server と組込みデータベース関数

プレポスト【問題】

ArcGIS for Server での Web マップの作成方法

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

Oracle BI Publisherの概要

製品組み込み手順書 Oracle Tuxedo (Linux版)  

Microsoft Word - doc16594.doc

Sharing the Development Database

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

Oracle Data Integrator:概要

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

Oracle Fusion Middleware 10g R2

Oracle BPEL Process Managerを使用したJD Edwards EnterpriseOne顧客信用情報の問合せ

Oracle ESB レッスン03: ESB CustomerData SOAP

Oracle Enterprise Manager 10g System Monitoring Plug-In for IBM WebSphere Application Server

Mobile Access簡易設定ガイド

Oracle Database 10gのOLAP Option

目次 はじめに... 2 無料トライアルのサインアップ方法... 3 トライアル環境へのアクセス 参考情報

intra-mart WebPlatform/AppFramework

使用する前に

Oracle Data Pumpのパラレル機能

PowerPoint Presentation

HTTP 404 への対処

intra-mart Accel Platform

Cisco Jabber for Windows のカスタマイズ

IBM API Connect 開発者ポータル構成ガイド 1章

PowerPoint プレゼンテーション

グループ一覧を並び替える すべてのユーザー グループの並び順を変更する ユーザーの登録

Polycom RealConnect for Microsoft Office 365

CA Federation ご紹介資料

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

BIP Smart FAQ

QualysGuard(R) Release Notes

FormPat 環境設定ガイド

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

Microsoft Word - OCSv2_Calendar_PSR9042.doc

APEX Spreadsheet ATP HOL JA - Read-Only

ORACLE TUNING PACK 11G

SystemDirector Developer's Studio(V3.2) 適用ガイド

BIP Smart サンプル説明書

利用者

Microsoft Word - Per-Site_ActiveX_Controls

extension機能概要マニュアル

Sophos Enterprise Console

Transcription:

Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 オラクル ホワイト ペーパー 2006 年 6 月

Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 概要... 3 カスタム検索 UI... 3 ハイレベル設計... 3 Web サービスを使用したカスタム UI の実装... 5 Web サービスのエンド ポイント... 5 インポートのためのパッケージ... 5 検索コンテキストの初期化... 5 検索... 6 データ グループ... 6 属性... 6 フィルタ... 6 推奨リンク... 7 代替語... 8 類似文書... 9 検索結果... 9 セキュア検索... 9 パッケージのデプロイ... 9 CLASSPATH の設定... 9 構成... 10 検索カスタム UI のデプロイ... 10 SES のデフォルト ネームスペース... 10 別のネームスペースの作成... 10 結論... 12 付録... 12 FreeMarker の実装... 12 Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 2

Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 概要 Oracle Secure Enterprise Search 10g は 設定済のソリューションで Oracle データベースと Portal Web サイト 電子メール システム ディスク上のファイルなど 複数の様々なリポジトリで検索機能を提供します このホワイト ペーパーでは Oracle Secure Enterprise SearchのWebサービスAPI を使用してカスタムUIを開発するための概要を その実装の経験に基づいて説明します ここでの目的は oracle.comでsesのwebサービスapiを使用して 検索ユーザー インタフェースの実装がどのように機能するかを理解することです この UIはsearch.oracle.comで参照できます Oracle Secure Enterprise Searchにはデフォルトの検索 UIがありますが search.oracle.comでカスタムuiが必要でした それは Oracle Technology Network (OTN) には独自のルック アンド フィールがあり UI も一貫性のあるものとして 検索エンジンでカスタムUIが必要であったためです Oracle Secure Enterprise Searchの詳細およびサンプル コードは http://www.oracle.com/technology/products/oses/index.html ( 英語 ) を参照してください この実装では インタフェースのテキスト出力を生成するテンプレート エンジンとして FreeMarker を使用します カスタム検索 UI Oracle Secure Enterprise Search で索引付けされたデータを検索するカスタム検索アプリケーションを作成するには Web Services API を使用します Oracle SES では Web Services Proxy Java ライブラリを提供しています ハイレベル設計 カスタム UI は SES の WSDL で生成された Java クライアント スタブを利用します この実装のアプローチでは FreeMarker をテンプレート テクノロジとして使用して スクリプレットと UI を分離させます これにより プレゼンテーション レイヤーからアプリケーション ロジックを適切に分離することができます この実装には initialize.jsp と search.jsp の 2 つの jsp があります initialize.jsp は検索のコンテキストを初期化し Web サービスのエンド ポイントを設定します search.jsp はエントリ ポイントで 検索クエリーを処理し ハッシュマップで UI を正しく表示するために必要な動的コンテンツを保持します Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 3

カスタム検索 UI 用に設計されたテンプレートには query.ftl result.ftl および noresult.ftl の 3 つがあります query.ftl は デフォルトの検索 UI に対応したテンプレートです デフォルトの検索 UI でサブミットされたクエリーに対する検索結果によって アプリケーションは result.ftl または noresult.ftl のテンプレートをロードします 実際には これにより UI のルック & フィールが決定されます result.ftl から生成された結果の UI は 検索結果を保持します サブミットされたキーワードに対して検索結果がない場合は noresult.ftl から生成される noresult 画面が表示されます カスタム検索のスナップショット search.oracle.com 問合せ画面 結果画面 Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 4

結果なしの画面 Web サービスを使用したカスタム UI の実装 Oracle Secure Enterprise Search で索引付けされたデータを検索するカスタム検索アプリケーションを作成するには Web サービス API を使用します SES が提供する Web サービス API の全体像については Oracle Secure Enterprise Search 管理者ガイド を参照してください Web サービスのエンド ポイント SESのWebサービスAPIへアクセスするためのデフォルトのエンド ポイントは http://hostname:port/search/query/oraclesearchです デフォルトのエンド ポイントを変更する方法は 検索カスタムUIのデプロイ で説明します 注意 : デフォルトのネームスペースを /default/searchに変更すると エンド ポイントはhttp://hostname:port/default/query/OracleSearchになります インポートのためのパッケージ SES の Web サービス API を実装するには 次のパッケージをインポートする必要 があります oracle.search.query.webservice.client.*; 検索コンテキストの初期化 検索コンテキストは次のように初期化できます OracleSearchService ctx = new OracleSearchService(); ctx.setsoapurl( <endpoint> ); 例えば 次のようにします ctx.setsoapurl(http://hostname:port/default/query/orac lesearch); Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 5

検索検索は ノード内だけではなくグループ内でも実行できます 何も指定しない場合は SES の管理 UI で構成した有効なすべてのソースに対して検索が実行されます グループ内で検索の指定が必要な場合は グループ名を指定します 同様に ノード内の検索では ノード ID およびフェデレーテッド ID を指定します ローカル検索では fid( フェデレーテッド ID) のデフォルトは 1 です フェデレーテッド ソース内でノードを検索する場合は 対応する fid を入力して指定する必要があります データ グループ SES は 構成されたソース グループを取得するための API を提供します この情報を使用して 有効なグループを UI に表示すること およびソース グループ内で検索を制限することができます フェデレーテッド検索を使用している間は ソースをグループに追加できます また このグループ検索の使用を フェデレーテッド ソース内に制限することができます 属性 SES には 検索で利用できる属性を取得するための API があります この属性リストを使用することで 渡された全ての属性を利用可能な属性として有効にできる高度な検索を行うことができます これは 特定の属性に対して一致するものを制限することによって 検索を絞り込む場合に有効です フィルタ フィルタを使用して検索のクエリーを制限することができます 検索の際 複数のフィルタを指定できます 各フィルタは 検索結果における制約として機能します フィルタは filterconnector によってコネクトされます 明示的に設定していない場合 フィルタは検索結果に適用されません フィルタは 次のように作成できます Filter filter = new Filter(attributeId, attributetype,searchopname, searchattvalue); AttributeId および attributetype は getattributes という API を使用して取得される attributelist で属性名を一致させることで取得できます たとえば 属性 LastModifiedDate の attributeid と type が 1 と Date で 演算名と属性値が greaterthan と 10/10/2005 の場合 オブジェクトは次のように作成されます Filter filter = new Filter(1, Date, greaterthan, 10/10/2005 ); Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 6

推奨リンク推奨リンクは 検索の全体的な質を向上させる機能です たとえば oracleというキーワードに対して http://www.oracle.comやhttp://partners.oracle.comなどの推奨リンクを追加しおくと エンド ユーザーがoracleというキーワードで検索したときに UI 上で推奨リンクが高い優先度で表示されます 検索キーワードに対する推奨リンクは SESの管理 UIに追加することができます この情報は 必要に応じてカスタムUIに表示できます 検索 APIで返されるOracleSearchResultオブジェクトは 推奨リンク クラス オブジェクトの配列を保持します これは 推奨リンクのタイトルおよびURLをメンバー変数として持ちます 推奨リンク機能を使用したカスタムUIのスクリーン ショットを次に示します このスクリーン ショットでは 推奨リンクを追加できる管理 UI のページを示しています Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 7

代替語代替語は 検索の全体的な質を向上させるもう 1 つの機能です 代替語は 汎用キーワード検索で使用されるため ユーザーは 検索したいキーワードそのものを簡単に指定できます たとえば crm というキーワードに対して 管理 UI に customer relationship management として登録されている場合 ユーザーが crm で検索すると 結果のページには もしかして customer relationship management? と表示され これをクリックすると customer relationship management に対する検索結果が表示されます すべての検索キーワードに対する代替語は SES の管理 UI 画面で構成することができます 必要な場合 これを UI に表示できます 検索 API で返される OracleSearchResult オブジェクトには 代替語を保持するメンバー変数があります 代替語を使用したカスタム UI のスクリーン ショットを次に示します このスクリーン ショットでは 代替語を追加できる管理 UI のページを示しています Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 8

類似文書検索結果において 重複した文書または ほぼ重複した文書はすべて 類似文書 という語で参照されます 検索結果で 重複した文書を表示しない場合 dupremoved フラグを true にして検索クエリーを作成することが必要になります 検索結果に類似文書を表示する場合は dupremoved フラグを false に設定し dupmarked フラグを true に設定します 類似文書 のリンクをクリックして表示させるには isduplicate フラグの値に基づいて 最初に重複文書を隠し リンクをクリックしたときに文書の ID を渡して文書を表示するコードを作成します 検索結果検索結果は OracleSearchResult のオブジェクトとして返されます OracleSearchResult オブジェクトは ResultElement オブジェクトの配列を持っています 全てのメンバー変数を業務要件ごとに表示できます セキュア検索セキュア検索は認証 API を使用して実装できます 認証 API を使用するために カスタム UI はエンド ユーザーの要求を同じコンテキスト内に保持する必要があります ctx = (OracleSearchService) request.getsession().getattribute("searchcontext"); if (ctx == null) { ctx = new OracleSearchService(); } ctx.setsoapurl( endpoint ); request.getsession().setattribute("searchcontext ",ctx); パッケージのデプロイ CLASSPATH の設定 Oracle SES のクライアント側 Java プロキシ ライブラリを使用して クライアント アプリケーションをコンパイルおよび実行するには Java CLASSPATH に次のファイルを含める必要があります これらのファイルは Oracle SES サーバー上のディレクトリから取得できます $ORACLE_HOME/search/lib/search_query.jar( プロキシ Java ライブラリ ) $ORACLE_HOME/oc4j/soap/lib/soap.jar $ORACLE_HOME/oc4j/j2ee/home/lib/http_client.jar $ORACLE_HOME/xdk/lib/xmlparserv2.jar Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 9

$ORACLE_HOME/lib/mail.jar $ORACLE_HOME/lib/activation.jar アプリケーションは search.ear 内にパッケージされます この ear デプロイ時に oc4j を再起動する必要はありません 構成 Web サービスのエンド ポイントは web.xml に構成されます 同一の ear を別の SES にデプロイするには orion-web.xml を使用して web.xml に記載されたエントリを上書きします FreeMarker テンプレートの場所も構成可能で パスを ear の外部に設定できます これにより ear を再デプロイせずに UI を簡単に変更できます この実装において 構成されたパスにテンプレートが示されない場合は ear から取得されます 検索カスタム UI のデプロイ SES のデフォルト ネームスペース SES の検索 UI のデフォルトのネームスペースは /search/search です カスタム UI で同じネームスペースを使用するには デフォルトの UI のネームスペースを変更する必要があります ここで説明する実装では デフォルト検索 UI のネームスペースを /default/search に変更して /search/search をカスタム UI で使用します 注意 : カスタム UI が 異なる oc4j インスタンスにデプロイされている場合は ネームスペースを変更する必要はありません デフォルトのネームスペースを変更する方法は次のとおりです 別のネームスペースの作成 1. ネームスペースの変更について http-web-site.xml を変更します http-web-site.xml ファイルを次の場所にバックアップします $ORACLE_HOME/oc4j/j2ee/OC4J_SEARCH/config/ 変更前 : <default-web-app application="search_query" name="welcome"/> <web-app application="search_query" name="query" load-on-startup="true" root="/search/query" /> <web-app application="search_admin" name="admin" load-on-startup="true" root="/search/admin" /> <web-app application="search_admin" name="ohw" load-on-startup="true" root="/search/ohw" /> <web-app application="monitor" name="monitor" load-onstartup="true" root="/monitor" /> Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 10

次に太字で示した行を追加 / 変更し アプリケーションに デフォルト クエリーのルートを含めます 新しいネームスペースのクエリーは次のとおりです <default-web-app application="search_query" name="welcome"/> <web-app application="search_query" name="query" load-on-startup="true" root="/default/query" /> <web-app application="search_admin" name="admin" load-on-startup="true" root="/search/admin" /> <web-app application="search_admin" name="ohw" load-on-startup="true" root="/search/ohw" /> <web-app application="monitor" name="monitor" load-onstartup="true" root="/monitor" /> <web-app application="search" name="search" load-onstartup="true" root="/search" /> 2. 次の場所で index.jsp をバックアップし 修正します $ORACLE_HOME/oc4j/j2ee/home/default-web-app/. 新しいファイルには 次のエントリのみが含まれます <% response.sendredirect(response.encoderedirecturl("/sea rch/search")); %> この変更の目的は http://hostname:portと入力した場合に デフォルトの検索 UIではなくカスタムUIへ自動的にリダイレクトされるようにすることです 3. 次の場所で index.html をバックアップします $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applica tions/search_query/welcome/ 次のエントリによって 新しい index.html ファイルを作成します <head> <meta http-equiv="refresh" content="0;url=/search/search"/> </head> この変更の目的は http://hostname:port と入力した場合に デフォルトの検索 UI ではなくカスタム UI へ自動的にリダイレクトされるようにすることです Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 11

結論 業務要件に基づいてカスタム UI を開発することは必須です Oracle Secure Enterprise Search Web サービス API により ネットワーク上で Oracle SES に問合せをする独自のアプリケーションを作成することができます これは Java でも機能することが証明されています この API には 次のメリットがあります 標準のインターネット プロトコルを介して Oracle SES サーバーへ接続されたすべてのマシンへアプリケーションをデプロイできる Web サービス プロトコルが XML ベースであり 簡単にアプリケーションを統合できる 付録 FreeMarker の実装 ここで説明したカスタム UI の実装では UI を実装するために FreeMarker を使用しています FreeMarker はテンプレート エンジンで テンプレートに基づいた出力を生成する一般的なツールです このテンプレートは jsp から実際の UI の定義を分離させ テンプレートを変更しても ear を再デプロイする必要がありません UI に表示される動的なコンテンツは jsp 内のハッシュマップに保存され 静的な部分はテンプレートに保存されます 動的な部分はテンプレートに関連付けられ 名前を使用してテンプレート内でアクセスすることができます この名前により ハッシュマップ内で ${<name>} のように格納されます ここでは 時間 ( 秒単位 ) の設定を構成することができます これは FreeMarker がテンプレートの新しいバージョンをチェックするまでの間隔を測定するために必要です この値が 0 に設定されている場合 FreeMarker は テンプレートがロードされるたびに新しいバージョンをチェックし 変更があれば速やかに反映します FreeMarker の詳細は http://freemarker.sourceforge.net/ を参照してください Oracle Secure Enterprise Search におけるカスタム検索インタフェースの実装 - search.oracle.com の事例 12

SES におけるカスタム検索インタフェースのデプロイ - search.oracle.com での事例 2006 年 6 月著者 : Ann Jacob 寄稿者 : Sudhir Dureja Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口 : 電話 : +1.650.506.7000 ファックス : +1.650.506.7200 www.oracle.com Copyright 2006, Oracle. 無断転載を禁ず この文書はあくまで参考資料であり 掲載されている情報は予告なしに変更されることがあります オラクル社は 本ドキュメントの無謬性を保証しません また 本ドキュメントは 法律で明示的または暗黙的に記載されているかどうかに関係なく 商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証または条件に制約されません オラクル社は 本書の内容に関していかなる保証もいたしません また 本書により 契約上の直接的および間接的義務も発生しません 本書は 事前の書面による承諾を得ることなく 電子的または物理的に いかなる形式や方法によっても再生または伝送することはできません Oracle JD Edwards PeopleSoft および Siebel は Oracle Corporation および関連会社の登録商標です 他の製品名は それぞれの所有者の商標です