開発Blog

統合検索モジュール(ConceptBase連携)について

投稿日:


※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。
最新のintra-martでは、異なる情報であることがありますので、ご注意ください。


ベースモジュールver2.2(またはフレームワークver3.0)より、 JustSystem社の全文検索エンジンである「ConceptBase」と連携することが可能となりました。
これによりintra-mart を利用したナレッジマネジメントシステムの構築が大きく前進します。
ConceptBase製品は、intra-martエクステンションモ ジュールとして、「IM-統合検索モジュール powered by CB Search(※1)」 「IM-統合検索モジュール powered by RDB Gateway(※2)」という名称でOEM提供されています。

※1:IM-統合検索モジュール powered by CB Search
・・・JustSystem社ConceptBaseSearchのOEM製品です。Word/Excel/一太郎/PDF/PowerPointなどの 各種ドキュメント内の自然文による全文検索が可能です。intra-martFileServer内に格納されたドキュメントを検索対象とする前提で、標 準価格100万円の低価格で提供しています。

※2 IM-統合検索モジュール powered by CB Search
・・・JustSystem社RDB GatewayのOEM製品です。OracleなどのRDB内の自然文による全文検索が可能です。intra-martと接続しているRDBを検索対象と する前提で、標準価格100万円の低価格で提供しています。

このコラムでは、統合検索モジュールをintra-martから利用する方法につい てまとめてみました。

(1)機能概要

統合検索モジュールでは以下のことが可能になります。

a.ConceptBase との連携

・intra-martからConceptBase による検索結果の取得(文書内容をテキストとして取得、または文書の要約をテキストとして取得)
・自然文によるナレッジ検索(キーワード一致による全文検索ではない)
・検索対象をドキュメントだけでなくRDB内の情報まで広範囲にサポート

b.一元的なドキュメント管理と検索

・intra-martFileServer上に格納されたドキュメントを ConceptBasにより検索
・intra-martApplicationServer(またはintra-martFrameworkServer)が分散化された環境でも、ド キュメントをintra-martFileServer上に一元管理(検索対象ドキュメントを一元化)
・検索処理が集中する場合でも、intra-martApplicationServer(またはintra-martFrameworkServer) を負荷分散することで、検索ロジックのレスポンス向上を図ることができる

(2)動作仕様

(3)連携の仕組み

→つ まりConceptBaseの稼動するサーバは別マシンにすることができます。ConceptBaseの稼働率が高いようなシステムではこのように検索専 用マシンをたてることをお勧めします。

(4)導入手順

a.接続モジュールの追加インストール

・ConceptBaseで用意されている接続モジュールをintra-mart File Serverのインストールされているコンピュータにインストールします。
・ランタイムライブラリに対するパスの設定をおこないます。

b.ConceptBaseサーバの導入

・ConceptBaseサーバのインストールと起動をおこないます。
・ConceptBaseサーバの各種設定をします。
・ドメインユーザの登録(DomainUsers権限の付与)
・文書データベースの作成
・権限の設定

※詳細はAPIリスト「統合検索モジュール」をお読みください。

(5)注意点

ただし以下の注意点(制限事項)があります。

a.ConceptBaseサーバの対応プラットフォームはWindows系OS のみ

・intra-mart File Serverなどの他のサーバはUNIXでもOKです。

b.接続モジュール

・VBランタイムライブラリが必要
・ネイティブモジュールにより構成されている
・ConceptBase クライアント(ConceptBaseに付属)
・intra-mart ブリッジライブラリ(intra-martに付属)

c.主な機能は検索のみ

・CBで用意されているドキュメントのアップロード機能、ダウンロード機能は使えない
→これらはintra-martのフレームワークにて提供されています。

(6)検索のサンプルスクリプト

以下に簡単な呼び出し方法のサンプルを記述します。

a.JavaScriptからの場合


cb = ConceptBase.connect(cb_serv, cb_port, user_id, user_pwd);

documentList = cb.match("title", query, maxLength)

-パラメータ解説-
・cb_serv -ConceptBase が動作しているサーバアドレス
・cb_port -ConceptBaseサーバがサービスを提供しているポート
・user_id -ドメイン・ユーザ・コード
・user_pwd -ユーザの認証パスワード
・query -検索文字列
・maxLength -検索結果の最大取得件数

b.Javaからの場合

imart.utility.knowledge.CBSearchFactory factory;
imart.utility.knowledge.CBConnection connection;
imart.utility.knowledge.CBDocument[] list;
String[ ] fields = {"title"};
String[ ] tables;

factory = new imart.utility.knowledge.CBSearchFactory(cb_serv, cb_port);
connection = factory.connectFile(user_id, user_pwd);
tables = connection.indexFiles().keySet().toArray(new String[0]);
list = connection.search(fields, tables, preConstraint, query,
maxLength);

-パラメータ解説-
cb_serv -ConceptBase が動作しているサーバアドレス
cb_port -ConceptBaseサーバがサービスを提供しているポート
user_id -ドメイン・ユーザ・コード
user_pwd -ユーザの認証パスワード
fields -取得データ種別
tables -検索対象の文書データベース
preConstraint -絞込条件
query -検索文字列
maxLength -検索結果の最大取得件数

ちょっと難しいですが、JavaScriptで示したサンプルと、ほぼ同様の内容をJavaで実現したサンプルになります。

(7)セキュリティの実現

セキュリティの実現方法には2種類の方法があります。

a.intra-martアクセスセキュリティモジュールによる実現

・ページに表示・非表示をおこなうリンク制御機能を利用する
・ロール等を利用した権限チェック

b.ConceptBaseによる実現

・検索用ドメインユーザに対する権限設定をおこなう
→検索範囲毎に検索用ドメインユーザを用意する(ドキュメント管理アプリケーションでの検索用など)
→ログインユーザとドメインユーザを一意に関連付けるなどの方法があります。

以上、統合検索モジュールの利用方法について述べました。現在、スタートパックにて統合検索モジュールを標準で組込んだバージョンアップを計画しています (掲示板やドキュメント管理などの全文検索が可能となります)。このソースを参考にすると、より具体的な連携方法がつかめると思います。ご質問などがあり ましたらサポートセンター宛てにお聞きください。

-開発Blog
-

執筆者:

関連記事

no image

Adobe Flash Player のサポート終了後も継続して利用するための手順例

はじめに 下記FAQでもご案内している通り、2021/1/11以降、Adobe Flash Player が利用できなくなります。 これにしたがい、Adobe Flash Player を利用した弊社 …

no image

intra-mart Accel Kaiden! のガジェットを使いこなそう!①

以前のintra-mart Accel Kaiden ! の記事で紹介した「ガジェット」は、申請書内の関連する画面項目のグループや入力チェックとして利用できますが、もっと便利に利用するための設定機能も …

no image

intra-martのLDAP接続機能について

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 intra-martはver2.1よ …

no image

intra-mart Advent Calendar 2013 第21日:ルーティングテーブルに認可リソースを設定しないで済ませる方法

この記事は、intra-mart Advent Calendar 2013 第21日の記事です。 今回は、AutoRegisteringResourceMapper を紹介させていただきます。 このマ …

no image

DB周り便利ツール

こんにちは。 そろばん3級、IM10級、現在、NTTデータビズインテグラルにて修行中の斎藤です。 IMのスキルが低いので、IMではなくオープンソースの便利ツールを紹介します。 「DBFlute」という …