Rastをインストール / 検索フォームをつけた

投稿日: 2005年09月23日 更新日: 2017年07月22日

Rastをインストール

Rastをインストールした。目的はこの日記の検索用。

Rastが採用しているn-gram方式は、Namazu等で採用されている分かち書き方式に比べて「検索漏れが生じない」という特徴があるらしい。また、同じくn-gram方式を採用している全文検索エンジンとしてはsennaがある。

インストールは思ったより手間取った。

apr-get install g++
apr-get install libapr0-dev
apt-get install libmagic-dev
apt-get install nkf

まずはaprが必要なのでインストール。g++も入れてなかったので入れる。これで./configureが通るようになった。makeしてみるとmagic.hが無いというエラーが出たのでlibmagic-devも入れた。nkfも同じくmake時にエラーが出たので。

apt-get install libhtree-ruby1.8
apt-get install ruby1.8-dev

実際にtDiaryでインデックスを作るにあたってhtreeが必要なので(HTMLのパースのため?)インストール。スクリプトを動かしたらRuby拡張ライブラリが入っていないためエラーになった。./configureの出力を改めてみてみたらmkmf.rbが見つからないというエラーが出ている。ruby1.8-devを入れることで解決。

あとは改めていつもの決まり文句。

./configure
make
make install

最後に、スクリプト中からrast.soをロードする際にlibrast_ruby.so.0が見つからないというエラーが出た。/etc/ld.so.confにlibrast_ruby.so.0があるディレクトリ(/usr/local/lib)を追加して/sbin/ldconfigで更新したら解決。

検索フォームをつけた

Rastのインストールができたので今度は検索フォームをつける。

<p>rast-search</p>
<form method="get" action="rast-search.rb" class="search">
<p>
<input type="hidden" name="sort" value="date">
<input type="text" name="query" size="20" value="">
<input type="submit" value="検索">
</p>
</form>

日付順にしたかったのでhidden属性でsortにdateを渡す。

追記:<form>の中に<input>を書いてたので間に<p>を入れた。

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ