2013年1月19日土曜日

NuthとCassandraからSolrでインデクシング

ここで行ったNutch+CassandraでストアしたクロールデータをSolrでインデクシング・検索できるようにしてみる。

  • さくらVPS
  • CentOS 6.2
  • OpenJDK 1.6.0_24
  • Apache Nutch 2.1
  • Apache Cassandra 1.2
  • Apache Solr 4.0

  1. Solrインストール
  2. 以下のパッケージを公式サイトのダウンロードサイトから用意し、ここでは/opt/にインストールする。
    apache-solr-4.0.0.tgz
    アーカイブを展開。
    # cd /opt
    # ls
    apache-solr-4.0.0.tgz
    # tar xvf apache-solr-4.0.0.tgz
    
    Nutchのインストールディレクトリ配下confにSolr4用の設定ファイルが用意されているので、これをSolrのインストールディレクトリの適切な場所にコピー。
    # cp /opt/apache-nutch-2.1/conf/schema-solr4.xml /opt/apache-solr-4.0.0/example/solr/collection1/conf/schema.xml 
    が、1.6の時と同様にエラーが出て起動しない・・・。
    「/opt/apache-solr-4.0.0/example/solr/collection1/conf/schema.xml」に以下の行を追記する。
    (すでに書かれている<field>と同じ場所に。)
    <field name="_version_" type="long" indexed="true" stored="true" />
    これで起動するはず。以下で起動して、 ブラウザで「http://<ホスト名>:8983/solr/」を参照して起動を確認する。
    # cd /opt/apache-solr-4.0.0/example/
    # java -jar start.jar
  3. データをSolrへ送る
  4. # /opt/apache-nutch-2.1/runtime/local/bin/nutch solrindex http://localhost:8983/solr -all
    <省略>
    2013/01/19 10:54:31 org.apache.hadoop.mapred.Counters log
    情報:     SPLIT_RAW_BYTES=1096
    2013/01/19 10:54:31 org.apache.hadoop.mapred.Counters log
    情報:     Map output records=33
    SolrIndexerJob: done.
    
  5. Solrで検索
  6. ブラウザでSolrのWeb画面に接続し、左の「collection1」を選択し、「Execute Query」をクリック。
    ちゃーんとみれました。

おわり

0 件のコメント:

コメントを投稿