Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

elasticsearchを全文検索サーバとして活用するなら読んでおきたい、6つのブログ記事をピックアップ(追記あり)

LuceneベースのNoSQL全文検索サーバ、elasticsearchはログ解析の収集先として取り上げられることが多いですが、優れたNoSQL全文検索サーバでもあります。
日本でも2013年末頃から続々とブログ記事や利用事例が増えている注目の技術でもあります。
今回は、その中で全文検索サーバとしての切り口で分かりやすく解説された6つの記事を紹介します。

(追記)Hello! Elasticsearch. — Medium

ナレッジワークス株式会社のKunihiko Kidoさんによるとても分かりやすい記事です。

f:id:yoshi-ken:20140414112108p:plain

https://medium.com/hello-elasticsearch

2014年4月に入ってから怒濤の勢いでこれらのステキな記事が追加されています。

  • Elasticsearch Features — 主にシステムを中心とした特徴まとめ
  • Elasticsearch Quick Start — インストールからインデックス、検索までのクイックスタート手順
  • Elasticsearch System Overview — インデックス設計に関連する主要概念
  • Elasticsearch Modules — システムを構成する主要モジュール
  • Elasticsearch Plugins — 機能を拡張するプラグインの管理方法と主なプラグイン
  • Elasticsearch Search & Index API Overview — サーチ&インデックス APIを使用する為の前提知識
  • Elasticsearch Routing — 検索パフォーマンスを向上させる為の仕組み
  • Elasticsearch Japanese Analysis — 日本語全文検索と解析処理モジュール概要
  • Elasticsearch Japanese Analysis — 日本語全文検索で使用するプラグインと、日本語解析フィルター
  • Elasticsearch Japanese Analysis — 日本語全文検索の為のカスタムアナライザー
  • Elasticsearch Image Plugin DEMO — デモサイトに関するノート
  • Elasticsearch Image Plugin — インストールから検索までの手順
  • Elasticsearch Mapping — ドキュメントスキーマと検索精度を最適化するためのマッピング定義

実践!Elasticsearch - Wantedly Engineer Blog

f:id:yoshi-ken:20140402181209p:plain

http://engineer.wantedly.com/2014/02/25/elasticsearch-at-wantedly-1.html

Wantedlyという求人サイトのバックエンド検索システムにelasticsearchを導入した際のノウハウが、やさしく紹介されています。
日本語検索を行う際のMapping定義や、ドキュメントの親子関係を定義した検索の解説など実践的な内容となっております。

Elasticsearchチュートリアル - 不可視点

f:id:yoshi-ken:20140402181348p:plain

http://code46.hatenablog.com/entry/2014/01/21/115620

Livedoorグルメの研究用公開データセットを用いて、Mappingの作成から次の全文検索を行うまでのチュートリアルがまとまっております。

  • 「地名 料理ジャンル/店名」と言った形でレストランが探せる
  • メニュー名からレストランが探せる(例えば「ハンバーガー」が美味しいお店)
  • PV順・口コミが多い順・評価が高い順など検索結果をソートできる

このチュートリアルを実践するための各種ファイルはこちらのリポジトリに保管されております。

https://github.com/yteraoka/elasticsearch-study

Solr vs elasticsearch 類似文書検索

f:id:yoshi-ken:20140402181316p:plain

Solrとelasticsearchそれぞれでの類似文章検索の設定方法が解説されております。Solrを扱ったことのある方であれば、より理解が深まると思います。
日本語のトークナイズ設定や、ドキュメントの登録方法、MoreLikeThisを用いた類似文章検索について触れられています。

http://lab.synergy-marketing.co.jp/?s=elasticsearch

elasticsearch勉強会で発表してきました | Advanced Technology Lab

f:id:yoshi-ken:20140402181329p:plain

http://atl.recruit-tech.co.jp/blog/1203/

Elasticsearch+DynamoDB+Node.jsで作るスマホ向けのプッシュ通知システム「Pusna-RS」のアーキテクチャが詳しく紹介されています。
細かな条件指定を元に大量のスマートフォン端末へプッシュ通知する場合、ページングが深くなるにつれてRDBMSは応答速度が遅くなるのは周知の事実です。
そこで、取り出すときにソートをしなければ深いページングをしても性能が劣化しないという、elasticsearchのscroll_idを指定したscrollリクエストを採用して解決した事例の紹介です。

AWSで始めるElasticSearch | シリーズ | Developers.IO

f:id:yoshi-ken:20140402181154p:plain

http://dev.classmethod.jp/series/aws%E3%81%A7%E5%A7%8B%E3%82%81%E3%82%8Belasticsearch/

AWSでelasticsearchを運用する際には目を通しておきたい記事がまとまっております。

さいごに

WEB上でも各種情報がありますが、体系的な理解を深めるならば日本語で書かれたこちらの書籍がおすすめです。
こちらの書籍のオリジナル言語版は elasticsearch 0.19/0.20 というとても古いバージョンを対象に記述されています。しかしこの日本語版では elasticsearch 0.90 を対象に書き直されているため生きた情報源としていますぐ使えますね!

高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)

高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)

更新履歴

2014年4月14日 : https://medium.com/hello-elasticsearch を追加