仮想ホスト機能の使い方

【連載】

簡単導入! OSS全文検索サーバFess入門

【第12回】仮想ホスト機能の使い方

[2019/04/15 07:30]菅谷 信介 ブックマーク ブックマーク

開発ソフトウェア

今回はFessの仮想ホスト機能の使い方について説明します。

複数の検索対象が存在して、それぞれで検索システムを導入したい場合、検索対象ごとにFessを用意しなくても仮想ホストの設定だけで簡単に検索画面や検索結果を出し分けることができます。

仮想ホスト機能を利用することで、1つのFessで複数サイトの検索システムを実現できます。

仮想ホスト機能とは

仮想ホスト機能ではFessにアクセスされたホスト名(URLのホスト部)によって、検索結果を出し分けることができます。検索結果はそれぞれのJSPで表示されるので、画面デザインを変えることも可能です。

仮想ホストの設定

今回は2つのサイトを使って、それぞれのサイト用に検索結果の出し分けと画面デザインの変更をしていきます。

Fess-12.4.0を利用して説明します。FessのZIPファイルはFessのダウンロードページから入手することができます。

ZIPファイルを展開して、bin/fess.[sh|bat]を実行して起動してください。

まず、Fessの管理画面で「システム」>「全般」を開きます。仮想ホストの項目で利用するホスト名と仮想ホスト名を設定します。

仮想ホストでの書式は次のようになります。

Host:ホスト名[:使用するポート番号]=仮想ホスト名

ホスト名とポート番号には、Fessにアクセスする際のホスト名とポート番号を指定します。ポートを指定してアクセスする必要がある場合にはポートを指定してください。

仮想ホスト名の箇所には任意の名前を指定します。この値はクロール設定などの仮想ホストの指定で利用します。

今回は手元の環境で確認しやすいように、仮想ホストの項目を以下のように入力します。

Host:localhost:8080=host1
Host:127.0.0.1:8080=host2

入力したら、「更新」をクリックして設定を保存します。

仮想ホストごとの検索画面の変更

仮想ホストを設定すると、app/WEB-INF/view/仮想ホスト名 に検索ページのJSPが生成されます。

これらを編集することで、検索画面のデザインを変更することができます。エディタなどで直接ファイルを編集することも可能ですが、ここではFessの管理画面で編集します。

今回は検索トップページのロゴを差し替えてみます。

Fessの管理画面で「システム」>「ページのデザイン」をクリックします。「ページファイルの表示」で「/host1/index.jsp」を選択し、「編集」をクリックします。

ページのファイル表示

「/host1/index.jsp」の内容が表示されます。

ページの編集

FessのタイトルロゴをFessに同梱されている「noimage.png」に差し替えます。mainタグ内でロゴを指定しているimgタグを探して、ファイル名を以下のように/images/logo.pngから/images/noimage.pngに変更してください。

<img src="${fe:url('/images/noimage.png')}"
    alt="<la:message key="labels.index_title" />" />>

編集が終了したら「更新」をクリックします。

各仮想ホストの検索トップページにアクセスしてみましょう。

host2(http://127.0.0.1:8080/)では何も変更していないのでロゴは変わっていません。

host2のトップページ”

一方、ファイル名を変更したhost1(http://localhost:8080/)はロゴが変更されています。

host1のトップページ

今回はFessに同梱されている画像ファイルを利用しましたが、別の画像ファイルを使用したい場合は、ページのデザイン画面にある「アップロードするファイル」でファイルをアップロードしてください。新規に作成したcssファイルやjsファイルを使用する場合も同様に配置することができます。

アップロードするファイル

Fessサーバ上にあるcssファイルやjsファイルを編集したい場合は「ファイルマネージャー」を使用します。ファイルマネージャーでファイルをダウンロードして編集した後、「アップロードするファイル」でアップロードするとファイルの内容が上書きされます。

ファイルマネージャー

仮想ホストごとの検索結果の出し分け

次に仮想ホストごとにクロール設定を作成します。今回はhost1でN2SMのサイト、host2でFessのサイトを検索できるように設定します。

Fessの管理画面で「クローラ」>「ウェブ」>「新規作成」をクリックして、ウェブクロール設定を作成します。

仮想ホストごとに検索結果を出し分けるのでそれぞれのクロール設定を作成し、「仮想ホスト」の項目には対応する仮想ホスト名を入力してください。

今回は以下の2つの設定を作成します。

N2SM Fess
名前 N2SM Fess
URL https://www.n2sm.net/ https://fess.codelibs.org/
クロール対象とするURL https://www.n2sm.net/.* https://fess.codelibs.org/.*
最大アクセス数 10 10
間隔 3000ミリ秒 3000ミリ秒
仮想ホスト host1 host2

入力後、「作成」をクリックして保存します。

クロール設定を作成したら、「システム」 > 「スケジューラ」 > 「Default Crawler」 で「今すぐ開始」をクリックしてクロールを開始します。

クロールが完了するまでしばらく待ちます。

クロールの完了後、「http://localhost:8080/」にアクセスし検索してみましょう。「localhost:8080」はhost1のホスト名なのでhttps://www.n2sm.net/の検索結果だけが表示されます。

host1の検索結果

次に「http://127.0.0.1:8080/」にもアクセスして検索してみます。

127.0.0.1:8080」はhost2のホスト名なのでhttps://fess.codelibs.org/の検索結果だけが表示されます。

host2の検索結果

今回は例として検索結果の出し分けを紹介しましたが、ラベル、キーマッチ、関連コンテンツ、関連クエリーでも仮想ホストを指定することが可能です。

それぞれの設定画面で仮想ホスト名を指定してください。

*  *  *

今回はFessの仮想ホスト機能の使い方について解説しました。

ホスト名ごとに画面デザインや検索結果の出し分けをしたい場合、簡単にデザインや検索対象を分けることができるので利用してみてください。

著者紹介

菅谷 信介 (Shinsuke Sugaya)

Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】知りたい! カナコさん 皆で話そうAIのコト [9] 大学教授の目にAIブームはどう映る? - お茶の水女子大学 小林一郎氏(前編)

【連載】知りたい! カナコさん 皆で話そうAIのコト [9] 大学教授の目にAIブームはどう映る? - お茶の水女子大学 小林一郎氏(前編)

今回は、ゲストとして大西氏の恩師であり、第2次AIブームの頃からAI研究に携わるお茶の水女子大学 基幹研究院 自然科学系 教授の小林一郎氏を招聘。前編では、過去のAIブームがなぜ盛り上がり、衰退したかを振り返りながら、AI研究における今と昔の空気感の違いについて伺った。続く後編では、AI研究の現状や"AI人材"に必要なスキルについての見解とともに、これからA…

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
知りたい! カナコさん 皆で話そうAIのコト
教えてカナコさん! これならわかるAI入門
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
ソフトウェア開発自動化入門
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る