Skip to content

Instantly share code, notes, and snippets.

@johtani
Created May 29, 2013 15:43
Show Gist options
  • Save johtani/5671305 to your computer and use it in GitHub Desktop.
Save johtani/5671305 to your computer and use it in GitHub Desktop.
YokozunaがSolr使ってるというので、読んでみてメモを取ってみた。

Yokozunaに関するメモ

前提

RiakもErlangもわかってない人が読みといてます。

概要

  • RiakにSolrを内蔵して、Riakにて全文検索が可能にするプロダクト。
  • OpenSourceで公開されている。
  • 本体はErlangで書かれているアプリ

プロダクトURL

参考資料

Githubをざっと眺めた時のメモ

Solr関連

  • Solrは4.x+独自パッチ(solr-patches/no-stale-check.patch)+独自ソース(priv/java配下)を使ってる。
  • privにSolrのビルド用sh(build-jar.sh、grab-solr.sh)、各種設定ファイル(solr.xml、logging.properties、default_schema.xml、conf/*)がある。
  • 独自パッチではstale checkの設定をHttpClientとして追加設定している。

priv配下のファイルについて

ビルド関連

grab-solr.sh

Solrのダウンロード、バッチ適用、antによるビルドを実施。
Solr本体はオプション(環境変数SRC)によりダウンロード先が異なる

  • SRC="bin-tar"(デフォルト):S3にアップしてあるパッケージングされたSolr *4.2*をダウンロード。パッチ適用なし
  • SRC="src-tar":S3にアップしたてあるパッケージングされたSolr *4.1*のソースをダウンロードし、パッチ適用しビルド。
  • SRC="git":githubのApacheのミラーの*branch_4x*(4系の最新ソース)をダウンロードし、パッチ適用してビルド。

最後に、priv/solrに必要最低限のファイルをSolrのexampleからコピーしている。

  • schema.xmlがない気がするんだけど。priv/solr.xmlに_yz_default.xmlと指定があるけど、ファイルがない。grab-solr.shでもコピーしてない。Riak(Yokozuna)が後からコアを追加する時にschema.xmlファイルも生成しているのかもしれない。
build-jar.sh

独自RequestHandlerのビルドとjarファイル化。
その後、solr.warに組み込み

Solr設定関連

solr.xml

初期設定のみの模様。あとは、bucketに対応するコアが立ち上がる感じかな?

src配下のファイルについて

yz_solr.erl

  • Solrへのアクセスを行う関数が定義されてる。
  • ここを見るとSolrのURLがわかるので、何やってるか分かりそう。

不明点

  • entropy_data
    • 特殊なリクエストハンドラを作成している。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment