- PR -

JSPでのインデックスサービスの利用

1
投稿者投稿内容
D-Boy
会議室デビュー日: 2005/02/18
投稿数: 4
投稿日時: 2005-02-18 09:39
はじめまして。
いつも参考にさせていただいております。

インデックスサービスを使った全文検索機能をJSPで作りたいと
考えています。
色々なサイトで情報をさ探しているのですが、ASPやVBでの方法
はいくつか見つかったものの、Javaでの方法はなかなか見つかり
ません。

ASPでは、ActiveXオブジェクトの"ixsso.Query"、"ixsso.Util"
をCreateObjectで呼び出して操作すれば良いようなのですが、
同様のことをJavaでやろうとしたとき、どのように考えれば良い
のかひまひとつわかりません。

解決方法もしくは参考になるサイトなどをご存知でしたら、是非
教えてください。

よろしくお願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-18 09:53
インデックスサービスとは何を指しておりますでしょうか?Windowsとか特定のOS固有の機能でしょうか?
だとそると、そういった固有のOSに依存した機能にアクセスする専用のAPIは用意されていません。
Javaの世界で検索エンジンといえば Lucene などが有名です。
http://jakarta.apache.org/lucene/docs/index.html
D-Boy
会議室デビュー日: 2005/02/18
投稿数: 4
投稿日時: 2005-02-18 13:34
すみません。説明が足りていませんでした。
インデックスサービスはWindows2000以降(?)に標準で用意
されている検索エンジンのことを指しています。

仰る通りWindows固有の機能のはずです。そうすると、やはり
Javaでこれを利用することはできないのかもしれませんね。

ありがとうございました。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-02-18 18:46
こういう事を行うのであれば、
JCom (Java-COM Bridge)
というような、JavaとWindowsのCOMの連携用のAPIが便利だと思います。

また、他の手段としては、
1・RuntimeクラスでVBScriptやEXE等を起動
2・結果を標準出力やファイルに出力
3・Javaで取り込む
というような方法もあります。
D-Boy
会議室デビュー日: 2005/02/18
投稿数: 4
投稿日時: 2005-02-21 13:51
>こういう事を行うのであれば、
>JCom (Java-COM Bridge)
>というような、JavaとWindowsのCOMの連携用のAPIが便利だと思います。

返信ありがとうございます。
さっそく見てみます。
ただ、最新版のjcom-2.2.4.zipはうまく解凍できませんでしたので、
とりあえずjcom-2.2.3のほうで試してみたいと思います。
D-Boy
会議室デビュー日: 2005/02/18
投稿数: 4
投稿日時: 2005-03-11 11:12
>こういう事を行うのであれば、
>JCom (Java-COM Bridge)
>というような、JavaとWindowsのCOMの連携用のAPIが便利だと思います。

ずいぶん時間かかりましたが、おかげさまである程度動くところまで
きました。
JCOM-2.2.3のAPIを使って、"ixsso.Query"と"ixsso.Util"を操作して
検索結果を取り出すことはできました。
ただ、検索結果の中で取り出せるものと取り出せないものがあり、
後者の場合「EXCEPTION_ACCESS_VIOLATION」となってしまいます。
(Eclipse2.1.2でのDebug結果です。)


ASPでの以下の処理を


set fds = RS.Fields      '検索結果RSから一件分のレコードを取り出す
set fd = fds.item("filename") '一件分のレコードから一データ取り出す


Javaで以下のように処理しました。


fields = (IDispatch)result.get("Fields");
param[0] = "filename";
items = (IDispatch)fields.method("item",param);


検索結果RS(およびresult)には以下のようなColumn項目をもっており、
上記の"filename"は正しく結果が得られるのですが、たとえば"size"など
の場合は上述のようなエラーとなってしまいます。


Column名:
filename、path、vpath、size、write、DocComments、DocAuthor、DocLastAuthor


検索結果のfilenameを見ると、検索されたファイルの数も名前もASP版のものと
同じですので、同じものが検索されていると思えるのですが、その中でJavaだと
抽出できない情報があるのがよくわかりません。

考えられる原因、解決方法もしくは参考になるサイト・書籍などご存知でしたら、
是非教えてください。
よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)