Xindice

Apache Xindice: XMLデータベース

インストール

ディスク容量が厳しい人はインストールしないこと。

ダウンロード

展開

/usr/local に展開し、ディレクトリ名 xindice で xindice-1.1b4 ディレクトリにアクセスできるようにする。

$ su
# cd /usr/local
# tar xvzf /tmp/xml-xindice-1.1b4-jar.tar.gz
...
tar: A lone zero block at 25146
# tar xvzf /tmp/xml-xindice-1.1b4-war.tar.gz
...
tar: A lone zero block at 24143
# ln -s xindice-1.1b4 xindice

tar のバージョンによっては上記のようなメッセージが出るが、 問題なく展開されているので気にしなくてよい。

環境変数の設定

OSの起動時に自動的に設定されるよう、ディレクトリ /etc/profile.d の下に、 ファイル /etc/profile.d/xindice.sh を作成する。 内容は以下の通り。

#!/bin/bash

export XINDICE_HOME=/usr/local/xindice
export XINDICE_LIB=$XINDICE_HOME/lib

for jar in xindice-1.1b4; do
  if [  x`echo $CLASSPATH | grep "/$jar.jar"` = "x" ]; then
    if [ -e $XINDICE_HOME/$jar.jar ]; then
      export CLASSPATH=$CLASSPATH:$XINDICE_HOME/$jar.jar
    fi
  fi
done

for jar in commons-logging-1.0.3 servlet-2.3 xalan-2.5.2 xerces-2.6.0 xml-apis xmldb-api-20030701 xmldb-api-sdk-20030701 xmldb-common-20030701 xmldb-xupdate-20040205 xmlrpc-1.1; do
  if [  x`echo $CLASSPATH | grep "/$jar.jar"` = "x" ]; then
    if [ -e $XINDICE_LIB/$jar.jar ]; then
      export CLASSPATH=$CLASSPATH:$XINDICE_LIB/$jar.jar
    fi
  fi
done

if [ -n "$PATH" ]; then
    export PATH="$PATH:$XINDICE_HOME/bin"
else
    export PATH="$XINDICE_HOME/bin"
fi

/tmp にダウンロードした場合は、以下のようにする。

$ su
# cd /etc/profile.d
# mv /tmp/xindice.sh .
# chown root.root xindice.sh
# chmod +rx xindice.sh
# exit

ターミナルの再起動後、実行の確認を以下のようにする。

$ sh /usr/local/xindice/bin/xindice.sh

Xindice Command Tools v1.1b4

Format: xindice action [switch] [parameter]

...

ERROR : No argument found
$ 

WARファイルのインストール

tomcat の webapps ディレクトリに war ファイルを展開する。

$ mkdir $CATALINA_HOME/webapps/xindice
$ cd $CATALINA_HOME/webapps/xindice
$ jar xvf /usr/local/xindice/xindice-1.1b4.war

$CATALINA_HOME/webapps/conf/server.xml に以下の部分を追記する。

        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->

<Context path="/xindice" docBase="xindice" debug="0" reloadable="true">
   <Logger className="org.apache.catalina.logger.FileLogger"
           debug="0" verbosity="1" prefix="xindice_log." directory="logs" timestamp="true" suffix=".txt"/>
</Context>

tomcat を起動し、http://localhost:8080/xindice がエラーなく表示されればインストールできている。「THIS IS AN UGLY DEBUG TOOL」と書いてあるページが見える。

コマンドラインからの動作確認

デフォルトのデータベースの一覧を見てみる。

$ xindice.sh lc -c xmldb:xindice://localhost:8080/db
trying to register database

        system
        meta

Total collections: 2
$ 

デフォルトのデータベース db に、コレクション webpage を追加してみる。

$ xindice.sh ac -c xmldb:xindice://localhost:8080/db -n webpage
trying to register database
Created : xmldb:xindice://localhost:8080/db/webpage
$ 

webappsのセットアップ

$ mkdir -p $CATALINA_HOME/webapps/ir/WEB-INF/classes
$ mkdir -p $CATALINA_HOME/webapps/ir/WEB-INF/lib
$ cp -p $XINDICE_HOME/lib/*.jar $XINDICE_HOME/*.jar $CATALINA_HOME/webapps/ir/WEB-INF/lib/