『どこかな?』を試してみる。イントラネット用検索エンジン。

社内イントラネットワークで使える全文検索エンジンの『どこかな?』 を試してみる。

概要

『どこかな?』の大まかな特徴を挙げてみると、次のような感じかな。

  • クローラがウェブコンテンツを収集して、インデックスを作成する。
  • Java、tomcat、Lucene、Seasar2 等のソフトウェアが同梱されている。
  • Windows(msi), Unix(rpm, deb)のパッケージが用意されている。
  • 社内マイクロブログ『しゃべる』の姉妹ツール?

やってみないとわからないので、セットアップして実際に動かしてみる。

結論から言うと、かなりドキュメントに乏しい印象で、いろいろ調べていってもわからないことが多かったし、試したバージョン0.5.0でウェブの全文検索はできなかった。なのでこの記事は、手順とかをまとめるというよりは、奮闘期的な記録記事になった。

インストール

今回はお試しなので、VMware×Ubuntuの使い捨て環境を利用して、そこで動かしてみる。

UbuntuはDebian系らしいので、使うパッケージはたぶん *.deb というやつ。

まず、適当な一時ディレクトリを作って、そこで作業することにする。

# cd
# mkdir inst
# cd inst

パッケージはSOURCEFORGE.JPからダウンロードできる。姉妹ツールである『しゃべる』と同じ画面になっているが、shovelじゃなくてdokoが『どこかな?』なので注意。今回はDebian系なので doko_0.5.0-1_i386.deb を入手すればいい。今回の手順では、wgetを使ってコマンドラインでダウンロードすることにする。

debパッケージのインストール方法について、http://www.ep.sci.hokudai.ac.jp/~epcore/dvlop/y2001/package.html の『3. dpkg を用いる場合』を参考にやってみる。

そして、wgetコマンドでdebパッケージをダウンロード。

# wget "http://sourceforge.jp/frs/redir.php?m=osdn&f=%2Fshovel%2F32236%2Fdoko_0.5.0-1_i386.deb"

インストール。

# sudo dpkg --install "doko_0.5.0-1_i386.deb"

すると、下記のような短いログが表示されて、簡単にインストールが完了した。

未選択パッケージ doko を選択しています。
(データベースを読み込んでいます ... 現在 99528 個のファイルとディレクトリがインストールされています。)
(doko_0.5.0-1_i386.deb から) doko を展開しています...
doko (0.5.0-1) を設定しています ...
Install Finished. Let's enjoy!!
Access URL: http://ubuntu-vm:8080/

Access URL: http://ubuntu-vm:8080/ と言われているのでFirefoxでアクセスしてみると、いきなり検索画面のトップページが表示された。


え、設定とかなし? ポート番号8080は問答無用で固定なのかしら?

起動と停止

とりあえず、何の設定もできないというわけはないので、やり方を探してみる。が、ドキュメントFAQも空っぽなようだ・・・。

トップページを読むと、いつかヒントになりそうなことが読み取れる。

起動

# sudo /etc/init.d/dokod start

停止

# sudo /etc/init.d/dokod stop

ステータスの確認

# sudo /etc/init.d/dokod status

よくある再起動のコマンド restart は使えないようだ。

クロール対象の設定

もうひとつ読み取れるのは下記。

インストールしたらまず「しゃべる」のクローリング先のURLを設定してください。
Windowsの場合は、コントロールパネルから「doko」のサービスを停止した後、「インストールディレクトリ/application/shared/classes/shovel.properties」のfetcher.getDatasのXXXXXの部分を「しゃべる」がインストールされているサーバーに変更してください。(ポート番号が8080でない場合はそこも変更してください。)

Windows版では インストールディレクトリ/application/shared/classes/shovel.properties に何かが置かれているようだ。セットアップがフルオートだったので、インストールディレクトリがどこかわからない。仕方がないから、文字列 「doko」 を含むファイルやディレクトリを find して探してみた。

  • /usr/share/doc/doko/*
  • /usr/doko/*

/usr/doko/には、applicationjre というフォルダがある。さらに application の中には、shared, conf, webapps などのフォルダが並んでる。これがインストールディレクトリに違いない。

ちなみに /usr/share/doc/doko/ の方は、ドキュメントかと思って期待したけど、あんまり有用な情報は入ってなさそう。残念。

さて、もとの設定の話に戻ろう。

「インストールディレクトリ/application/shared/classes/shovel.properties」のfetcher.getDatasのXXXXXの部分を「しゃべる」がインストールされているサーバーに変更してください。

このファイルを開いて、まずはその通りに編集してみよう。

# sudo vi /usr/doko/application/shared/classes/shovel.properties

すると、該当の行のデフォルトは下記のようになっていた。

fetcher.getDatas=http://XXXXX:8080/statuses/public_timeline.xml

public_timeline.xml? 要するに、『しゃべる』のタイムラインを検索するための設定なようだ。でも今回やりたいことはそれではないので、普通のウェブページのURLを指定してみることにした。

次のように書き換えて保存して閉じる。

fetcher.getDatas=http://*********.jp/index.html

URLは実在する適当なサイトの適当なHTMLページ。お試しなので、他人に迷惑のかからないページを選ぶこと。

保存したら『どこかな?』を再起動。

# sudo /etc/init.d/dokod stop
# sudo /etc/init.d/dokod start

記載によると 設定終了後、「doko」のサービスを開始すれば、クローリングが開始され、しばらくすると検索可能になります。初期値では、クローリングが3分に1回、100件ずつ行い、転置インデックスの再読み込みは90秒になっています。 とあるので、このままほっとけばクロールが始まって、検索サービスが使えるようになるようだ。

・・・が、やっぱり検索はできるようにならなかった。

たぶん、『しゃべる』が生成する public_timeline.xml の形式を読み込む機能しか実装されていないのではないかな。

その他の設定

ドキュメントに記載はないが、/usr/doko/application/conf/ にも設定っぽいディレクトリがあるので開いてみたが、関係ありそうな設定ファイルは見当たらなかった。

Catalina とか tomcat-users.xml とかが入っているので、Java言語を知っている人ならいじくり方が解るのかも知れない。

まとめ

結果として、現在のところ(バージョン0.5.0)、普通のウェブ検索に使えるようにはなっていないんじゃないか、と思う。

という前提でもう一度トップページをよく見ると、

インストールにあたっての注意事項。「しゃべる」のバージョンが、0.9.6以上でないと動作しません。

と書いてあるのは、本当にそういうことだったんだな、って。
MOONGIFTさんが Web上の情報向けの全文検索エンジンとして、こちらを紹介しよう。 って言ってたからできそうかな、って思ったのに。残念。

ということで、今回の調査はここまで。

今後の進化に期待です。


プロフィール

ときにはデザイナ、ときにはディレクタ、ときにはプログラマ、ときには何でも屋と、ウェブの世界で未熟ながらもいろいろやっている、コヤナギトモヤです。

ツイッター上ではこのヒト。
@tomk79

RSSフィード

ページの先頭へ戻る