初めまして、インフラストラクチャー部の加藤 (@EugeneK) です。 クックパッドでは現在178万ものレシピが公開されていますが、目的のレシピを探すために検索機能を提供しています。 今回は検索機能の裏側の仕組みについて、インフラストラクチャーの観点からお話ししようと思います。 全ての検索機能を支えるSolrと周辺のアーキテクチャ クックパッドにはレシピの検索だけでなく様々な検索機能がありますが、その全てはSolrを活用して実装されています。 以前はMySQL Tritonnによる全文検索機能を使用していましたが、2011年頃からSolrに切り替わりました。 クックパッドではSolrをマスタ - スレーブ構成にすることで冗長性と負荷分散を実現しています。以下の構成図をご覧ください。 マスタとスレーブの間には、リピータと呼ばれる検索インデックスを中継するためだけの役割のサーバがいます。この
セコン (id:secondlife, @hotchpotch) です。ウェブサービスにはよく「このエントリーに関連するブログ記事」や「このレシピに関連するレシピ」という機能が実現されてますよね。さて、この機能はどのように実現すれば良いでしょうか。例えば tf-idf で単語の類似度を求め…といった実装が必要になり、いささか面倒です。 しかしながら Elasticsearch や Solr *1を使うと手軽に実現できます。例えば、クックパッドニュースの記事では Solr を使い「この記事を読んだ人におすすめ」の機能に、最近クックパッドにジョインしたインドネシアの会社の DapurMasak では Elasticsearch を使い「Resep serupa(関連レシピ)」の機能で利用しています。 クックパッドニュースでのこの記事を読んだ人におすすめ DapurMasak での関連レシピ 使
最近のお仕事的なことですが、ElasticSearchの構築・運用を任されるようになりました。 まかされるというか、実際にはいい感じに全文検索ができる仕組みを作って欲しいといういつもの依頼だったんだけども、全く運用の経験の無いプロダクトだったので色々わからないことだらけ。 最近はKibanaと組み合わせて言い感じのグラフを作るのがWeb屋さんの間で流行っているイメージですが、Kibanaを除いたElasticSearchの細かなところに踏み込んだ情報はあまりない感じで(多分感心があまりないのかも)、結局マニュアルを色々読んでわからないところを補完していった感じです。 同じようにElasticSearchを使って検索機能を作っていきたいような人の参考になればいいなー程度にまとめて行こうと思います。そのうち自分でも見直すことになるだろうし。 一応手元にmarkdownでまとめたものもあるんだけ
LuceneベースのNoSQL全文検索サーバ、elasticsearchはログ解析の収集先として取り上げられることが多いですが、優れたNoSQL全文検索サーバでもあります。 日本でも2013年末頃から続々とブログ記事や利用事例が増えている注目の技術でもあります。 今回は、その中で全文検索サーバとしての切り口で分かりやすく解説された6つの記事を紹介します。 (追記)Hello! Elasticsearch. — Medium ナレッジワークス株式会社のKunihiko Kidoさんによるとても分かりやすい記事です。 https://medium.com/hello-elasticsearch 2014年4月に入ってから怒濤の勢いでこれらのステキな記事が追加されています。 Elasticsearch Features — 主にシステムを中心とした特徴まとめ Elasticsearch Quic
クックパッド、グリー、ぐるなび、CROOZは検索技術を どう使っているのか 有限会社オングス 杉山貴章 2012/2/9 2012年1月26日、CROOZ主催の勉強会「モーショノロジー2012 #1」が開催された。今回のテーマは「全文検索」。検索技術の開発や活用に携わる6名の発表者によって、検索エンジンの実装やプロダクトの活用事例などが紹介された。 全文検索の歴史とgroongaの索引構築の実装 ソーシャル連携などに広がるECサイトでの全文検索 KVSの膨大なKeyを見つけるための全文検索 groongaのRuby実装「rroonga」による検索サービス モバイルに欠かせない位置情報検索で使うgroonga レシピ検索のプロトタイピングにApache Solrを使う そもそも、「モーショノロジー」って何? そもそも、「モーショノロジー」とは何だろうか。総合司会を務めたCROOZの小俣泰明氏
目的 検索用サーバーとして最近注目されているElasticsearchですが、ついに1.0 RC1がリリースされたそうです。 Googleトレンドを見ても、この分野で先行するApache Solrに迫る勢いを感じます。 そういうわけで私もElasticsearchについて興味を持って調べてみましたが情報がちょっと少ないですね… 「調べたけど断片的な情報しかない」 「公式doc英語だし、専門用語が多すぎてわからん」 「え、できること多すぎ。よくわからん。どれが重要?」 と言った感じで、最初ちょっと大変… そこで調べ始める人が、概観をつかむためのチュートリアルをつくろうと思います。 コマンドを全部実行する必要ありません。用語をおさえることで調べものが捗ることがひとつのゴールです。 自分の理解の整理も兼ねています。間違ってる箇所あったら教えて下さい。 part 1:ESを使ってレストラン検索を作
こんにちは、 id:yanbe です。 全文検索エンジンLucene上に構築されたSolrという検索ミドルウェアがあります。拡張性・カスタマイズ性に富み、既存のデータのインポート機能が豊富なのもあって、広く利用されています。 参考: Solr - Wikipedia 国内のウェブサービスでのSolrの採用事例を挙げるとNAVERやCookpad、アメーバなどがありますが、はてなでも以前より一部のサービスでSolrを採用しています。 Solrの公式ドキュメント(英語)はwiki形式で提供されており、網羅的な情報はこちらで手に入ります。また、Solrの基本的な使い方を学べるチュートリアルもありますが、「すでにある典型的なLAMP構成のウェブサービスにSolrによる検索機能を組み込む」までには、ここからさらに多くの情報を調べる必要があり、Solrの導入のハードルとなっていると感じました。 そこで
Solr is the blazing-fast, open source, multi-modal search platform built on the full-text, vector, and geospatial search capabilities of Apache Lucene™. Learn more about Solr. Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and na
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く