こんにちわ、インケンです。
これからはインケンもたまに書きます。
こんにちわ、インケンです。
これからはインケンもたまに書きます。
この文書はScala Advent Calendar 2013の21日目のために書きました。
Scalaにも行列操作や線形代数の便利ライブラリがあります。
pythonに負けてないぜってことで。
それがScalaNLPです。
ScalaNLPの「NLP」とは、
「Natural Language Processing」
つまり自然言語処理のことらしいです。
SaclaNLPは自然言語処理と機会学習のための数値解析ライブラリを提供しています。
Solr4を動かしてみるシリーズの4回目です。
今回は、SolrにRDBのデータをくわせてみます。
solrのチュートリアルにはRESTインターフェイスからインデックスするデータを登録するやり方が書いてありますが、インデックスしたいデータの多くはRDBやNoSQL等のストレージに格納されていることが多いと思います。
いっこいっこPOSTなんてやってられません。
で、RDBのデータを読んでインデックスを作成することにします。
このチュートリアルではRDBとしてMySQLを使用します。
Solr4を動かしてみるシリーズの3回目です。
さて、いよいよ全文検索エンジンの肝、インデックスの設定です。
どんなデータから、どのようなアルゴリズムで全文検索を行うかを定義するのが
schema.xml
です。
coreのインスタンスディレクトリの下のconf内に置いてあります。
※schema.xmlがないとエラーになります^^;
Solr4を動かしてみるシリーズの2回目です。
solrのコアとは、検索エンジンそのものを差します。
サーチャーやインデクサーの定義、インデックスデータの管理、プラグインの管理などを行う単位です。
solrは1.4系からマルチコアに対応し、コアごとにこれらの設定を行えるようになりました。
例えば、
例を考えてみます。
全文検索エンジンSolrにRDBのデータを喰わせてインデックスを作成するところまでを目標に、
Solr4のインストール〜構築を行っていきます。
RHEL系だったらyum, debian系だったらapt-getで入れてしまいましょう。
今回のテーマは「gradleでマルチプロジェクトをビルド」です。
そもそも、マルチプロジェクトとは何か?、ですが、複数のプロジェクトを含むツリー構造のプロジェクトを指します。
例えば、
rootプロジェクト
|— サブプロジェクトA
|— サブプロジェクトa1
|— サブプロジェクトB
|— ライブラリ
とか
|— rootプロジェクト
|— サブプロジェクトA
|— サブプロジェクトB
|— ライブラリ`
みたいな構造のプロジェクトです。