SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Fessで作るApache Solrベースの全文検索サーバー

Fessで作るApache Solrベースの検索サーバー
~ REST API編

jQueryベースの検索サイトを作ろう!

  • X ポスト
  • このエントリーをはてなブックマークに追加

 今回はサーバーサイドの言語を使わずに、FessサーバーとjQueryで作る検索サイトの作り方をご紹介します。サーバー環境などにも依存しない方法なので、HTMLを利用しているサイトであれば簡単に適用することもできます。  

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 前回のロールベース検索編では、ユーザーに閲覧権限が必要な環境においてどのようにFessを利用できるかをご紹介しました。今回はFessが提供するREST APIを利用して、クライアントサイド(ブラウザ側)で検索とその結果の表示を行う方法をご紹介します。REST APIを利用することで、既存のウェブシステムにもFessを検索サーバーとして利用して、HTMLだけの変更で組み込むことも可能になります。

 本記事ではFess 4.0.0を利用して説明します。Fessの構築方法については導入編を参照してください。

対象読者

  • 既存のウェブシステムに検索機能を加えたい方
  • Ajaxを利用した検索システムを構築したい方

必要な環境

 この記事の内容に関しては次の環境で、動作確認を行っています。

  • IE 6/7/8
  • Firefox 3.6

REST API

 Fessは通常のHTMLによる検索表現以外に、REST APIとしてXMLおよびJSON(JSONPも含む)による検索結果の応答が可能です。REST APIを利用することで、Fessサーバーを構築しておき、既存のシステムから検索結果だけを問い合わせにいくことも簡単に実現できます。検索結果をXMLやJSONなどの開発言語に依存しない形式で扱えるので、FessをJava以外のシステムにも統合しやすいと思います。XMLやJSONはJavaScriptのライブラリでもサポートされているので、Ajaxとして利用する場合でも簡単に扱うことができます。

 Fessの提供しているREST APIがどのような応答を返してくるのかについては以下を参照してください。

  1. XML応答
  2. JSON(JSONP)応答

 Fessは内部の検索エンジンとしてApache Solrを利用しています。SolrもXMLやJSONによるAPIを提供していますがFessのAPIは異なるものです。SolrのAPIでなく、FessのAPIを利用するメリットは、FessのAPIを利用することで検索ログの管理や閲覧権限の制御など、さまざまなFess固有の機能を利用できることが挙げられます。ドキュメントクロールの仕組みから独自に開発したい場合はSolrを利用するのが良いと思いますが、簡単に検索機能を追加したいということであればFessを利用して多くの開発コストを削減できます。

次のページ
REST APIを利用した検索サイトの構築

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Fessで作るApache Solrベースの全文検索サーバー連載記事一覧

もっと読む

この記事の著者

菅谷 信介(スガヤ シンスケ)

N2SM, Inc.にソフトウェア・アーキテクトとして勤務。Apache Portalsにて、コミッター兼PMCとして活動。その他、Seasar Projectなどのオープンソースプロジェクトでコミッターとしても活動。オープンソース関連の活動をブログTwitterに投稿。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5667 2011/01/12 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング