elasticsearchを全文検索サーバとして活用するなら読んでおきたい、6つのブログ記事をピックアップ(追記あり)
LuceneベースのNoSQL全文検索サーバ、elasticsearchはログ解析の収集先として取り上げられることが多いですが、優れたNoSQL全文検索サーバでもあります。
日本でも2013年末頃から続々とブログ記事や利用事例が増えている注目の技術でもあります。
今回は、その中で全文検索サーバとしての切り口で分かりやすく解説された6つの記事を紹介します。
(追記)Hello! Elasticsearch. — Medium
ナレッジワークス株式会社のKunihiko Kidoさんによるとても分かりやすい記事です。
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
http://engineer.wantedly.com/2014/02/25/elasticsearch-at-wantedly-1.html
Wantedlyという求人サイトのバックエンド検索システムにelasticsearchを導入した際のノウハウが、やさしく紹介されています。
日本語検索を行う際のMapping定義や、ドキュメントの親子関係を定義した検索の解説など実践的な内容となっております。
Elasticsearchチュートリアル - 不可視点
http://code46.hatenablog.com/entry/2014/01/21/115620
Livedoorグルメの研究用公開データセットを用いて、Mappingの作成から次の全文検索を行うまでのチュートリアルがまとまっております。
- 「地名 料理ジャンル/店名」と言った形でレストランが探せる
- メニュー名からレストランが探せる(例えば「ハンバーガー」が美味しいお店)
- PV順・口コミが多い順・評価が高い順など検索結果をソートできる
このチュートリアルを実践するための各種ファイルはこちらのリポジトリに保管されております。
https://github.com/yteraoka/elasticsearch-study
Solr vs elasticsearch 類似文書検索
Solrとelasticsearchそれぞれでの類似文章検索の設定方法が解説されております。Solrを扱ったことのある方であれば、より理解が深まると思います。
日本語のトークナイズ設定や、ドキュメントの登録方法、MoreLikeThisを用いた類似文章検索について触れられています。
http://lab.synergy-marketing.co.jp/?s=elasticsearch
elasticsearch勉強会で発表してきました | Advanced Technology Lab
http://atl.recruit-tech.co.jp/blog/1203/
Elasticsearch+DynamoDB+Node.jsで作るスマホ向けのプッシュ通知システム「Pusna-RS」のアーキテクチャが詳しく紹介されています。
細かな条件指定を元に大量のスマートフォン端末へプッシュ通知する場合、ページングが深くなるにつれてRDBMSは応答速度が遅くなるのは周知の事実です。
そこで、取り出すときにソートをしなければ深いページングをしても性能が劣化しないという、elasticsearchのscroll_idを指定したscrollリクエストを採用して解決した事例の紹介です。
AWSで始めるElasticSearch | シリーズ | Developers.IO
http://dev.classmethod.jp/series/aws%E3%81%A7%E5%A7%8B%E3%82%81%E3%82%8Belasticsearch/
AWSでelasticsearchを運用する際には目を通しておきたい記事がまとまっております。
Kuromojiで日本語全文検索 – AWSで始めるElasticSearch(1)
http://dev.classmethod.jp/cloud/aws/use-elasticsearch-1-use-kuromoji/Cluster機能を使う – AWSで始めるElasticSearch(2)
http://dev.classmethod.jp/cloud/aws/use-elasticsearch-2-use-cluster/AWS Cloud Plugin for ElasticSearchを使う – AWSで始めるElasticSearch(3)
http://dev.classmethod.jp/cloud/aws/use-elasticsearch-3-use-awscloudplugin/データ構造について – AWSで始めるElasticSearch(4)
http://dev.classmethod.jp/cloud/aws/use-elasticsearch-4-data-structure/
さいごに
WEB上でも各種情報がありますが、体系的な理解を深めるならば日本語で書かれたこちらの書籍がおすすめです。
こちらの書籍のオリジナル言語版は elasticsearch 0.19/0.20 というとても古いバージョンを対象に記述されています。しかしこの日本語版では elasticsearch 0.90 を対象に書き直されているため生きた情報源としていますぐ使えますね!
高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)
- 作者: Rafal Kuc (lにストローク符号、cにアクサン・テギュ付く),Marek Rogozinski (nにアクサン・テギュ付く)
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/03/25
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
更新履歴
2014年4月14日 : https://medium.com/hello-elasticsearch を追加