RiakもErlangもわかってない人が読みといてます。
- RiakにSolrを内蔵して、Riakにて全文検索が可能にするプロダクト。
- OpenSourceで公開されている。
- 本体はErlangで書かれているアプリ
- 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として追加設定している。
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ファイルも生成しているのかもしれない。
独自RequestHandlerのビルドとjarファイル化。
その後、solr.warに組み込み
初期設定のみの模様。あとは、bucketに対応するコアが立ち上がる感じかな?
- Solrへのアクセスを行う関数が定義されてる。
- ここを見るとSolrのURLがわかるので、何やってるか分かりそう。
- entropy_data
- 特殊なリクエストハンドラを作成している。