Elasticsearchをサイト内検索に使うケースが増えています。サーバサイドと組み合わせて使うと便利なのですが、仕組みとしてJavaScriptともAjaxでデータの送受信が可能です。サーバサイドへのアクセスも減るので積極的に使っていきたい仕組みです。 そんなElasticsearchの検索を格好いいUIで提供してくれるのがCalacaです。AngularJSを使った検索インタフェースになります。

Calacaの使い方

データはたとえばこんな感じに投稿します。name、typeがデフォルトですが、config.jsを変更すれば指定可能です。

curl -XPUT 'http://localhost:9200/name/type/5' -d '{
  "name" : "moongift",
  "date" : "2013-09-07",
  "message" : "hello"
}'

検索画面です。画面遷移なしでさくさくと検索できます。

CalacaはJavaScriptだけのクライアントサイドしか使っていませんので設置がとても簡単です。検索結果はページネーションもサポートしています。開発時の検索インタフェースはもちろん、デザインをカスタマイズして自分のサイトに組み込むのも良さそうです。

CalacaはHTML5/JavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

romansanchez/Calaca