Wir sichern Qualität weit über dem aktuellen Stand der Kunst vertraglich zu.
初めまして、インフラストラクチャー部の加藤 (@EugeneK) です。 クックパッドでは現在178万ものレシピが公開されていますが、目的のレシピを探すために検索機能を提供しています。 今回は検索機能の裏側の仕組みについて、インフラストラクチャーの観点からお話ししようと思います。 全ての検索機能を支えるSolrと周辺のアーキテクチャ クックパッドにはレシピの検索だけでなく様々な検索機能がありますが、その全てはSolrを活用して実装されています。 以前はMySQL Tritonnによる全文検索機能を使用していましたが、2011年頃からSolrに切り替わりました。 クックパッドではSolrをマスタ - スレーブ構成にすることで冗長性と負荷分散を実現しています。以下の構成図をご覧ください。 マスタとスレーブの間には、リピータと呼ばれる検索インデックスを中継するためだけの役割のサーバがいます。この
Apache Solrをデフォルトのままで利用しようとすると、管理サイトへのアクセスや検索や情報の更新もどこからでもできたりします。 これは、セキュリティ的にまずいので、Solrへのアクセスを制御する方法をまとめてみます。 なお、環境はRedHat5.9にApache Solr4.2を利用した環境です。 Solrは付属のJettyで動かしているので、その他の環境で動かしている場合は設定が異なるかと思います。 管理サイトをつぶしてしまってかまわないのであれば、JettyがListenするIPアドレスを下記のようにローカルホストからのみに変更するのが手っ取り早い方法かもしれません。 <New class="org.eclipse.jetty.server.bio.SocketConnector"> <Set name="host"><SystemProperty name="jetty.hos
Solr のフロントに Nginx を使ってみます。 外部からも select はできるけど update はできないようにして、 admin には BASIC 認証をかけます。 クリーンな環境の方が分かりやすいので、Amazon の EC2 を使います。 EC2 のインスタンスを用意 基本的な構成でインスタンスを作成します。 SSH のための 22 番ポートと、HTTP のための 80 番ポートを開放しておきます。 細かい手順はこの辺で。 Amazon EC2 を使ってみる (1月の記事) ec2-api-tools - blog.withsin.net ローカルマシンから EC2 のインスタンスには SSH で接続しますが、 このときにローカルマシンにポートを転送させます。 Solr は Jetty を使って 8983 番ポートで起動し、Nginx はデフォルトの 80 番ポートで起動
クックパッド、グリー、ぐるなび、CROOZは検索技術を どう使っているのか 有限会社オングス 杉山貴章 2012/2/9 2012年1月26日、CROOZ主催の勉強会「モーショノロジー2012 #1」が開催された。今回のテーマは「全文検索」。検索技術の開発や活用に携わる6名の発表者によって、検索エンジンの実装やプロダクトの活用事例などが紹介された。 全文検索の歴史とgroongaの索引構築の実装 ソーシャル連携などに広がるECサイトでの全文検索 KVSの膨大なKeyを見つけるための全文検索 groongaのRuby実装「rroonga」による検索サービス モバイルに欠かせない位置情報検索で使うgroonga レシピ検索のプロトタイピングにApache Solrを使う そもそも、「モーショノロジー」って何? そもそも、「モーショノロジー」とは何だろうか。総合司会を務めたCROOZの小俣泰明氏
solrって何? Apache solr solr wiki オープンソースのpure javaの全文検索エンジンです。 Apacheのトッププロジェクトであり、twitterやfacebook級のサイトでも使用されています。 solrにできる事は? 超高速検索のエンジンを自分で作成可能(オレオレMySQLのようなものを作る事ができる)。 検索する項目を自分で定義可能(RDBのカラム)。 定義した項目に、順序を保持したままリスト形式で値を保存可能(カラムにjavaでいうところのListを保存できる)。 完全一致検索可能。 中間一致検索可能(フルスキャンで超低速になるので非推奨)。 前方一致検索可能。 超高速に件数を取得する、ファセット検索が可能。(select count(*)を100回同時に行なっても超高速) 超高速に同義語検索可能で、同義語の辞書を自分で定義可能。(or name =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く