Debian に Tomcat 7 + Apache Solr 3.5.0 + 日本語検索対応環境を構築(lucene-gosen使用)

かなり日が開いてしまいましたが、以前構築したSolr 3.5.0の環境で
日本語の検索が行えるようにしてみます。

環境構築時の記事はこちら。
DebianにOpenJDK + Tomcat 7 + Solr 3.5.0 の環境を構築する

また、Solr1.3に日本語検索対応環境を構築したときの記事はこちらになります。
Debian に Tomcat + Apache Solr + 日本語検索対応環境を構築



lucene-gosen



Solr1.3の時に日本語検索の環境を作成したときは、えらく手間がかかったのですが、
lucene-gosenというライブラリを使用すればお手軽に日本語検索環境が作成できそうです。

http://code.google.com/p/lucene-gosen/

こちらを参考にさせて頂きました。
Apache Solr 3.3.0 で日本語検索できるようになるまでにしたこと


今回、Debianに構築しているSolr3.5.0の環境は、
・Tomcat 7で動作
・solr/homeは、/usr/local/solr
・solrのweb部分は/opt/solr/
となっています。

まず、solr/WEB-INF/libにlucene-gosenのjarファイルをダウンロードして配置します。


# cd /opt/solr/WEB-INF/lib
# wget http://lucene-gosen.googlecode.com/files/lucene-gosen-1.2.1-ipadic.jar




次に、/usr/local/solr/conf/schema.xmlを編集し、solr.JapaneseTokenizerFactoryを
使用してデータを解析するフィールド「text_ja」を作成しました。

サンプルとして、schema.xmlはこのようにしました。


  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <schema name="example" version="1.4">
  3. <types>
  4.     <!-- The StrField type is not analyzed, but indexed/stored verbatim. -->
  5.     <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
  6.     <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
  7.     <fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100">
  8.         <analyzer>
  9.             <tokenizer class="solr.JapaneseTokenizerFactory" />
  10.         </analyzer>
  11.     </fieldType>
  12. </types>
  13. <fields>
  14. <field name="id" type="string" indexed="true" stored="true" required="true" />
  15. <field name="title" type="text_ja" indexed="true" stored="true" />
  16. <field name="body" type="text_ja" indexed="true" stored="true" />
  17. </fields>
  18. <uniqueKey>id</uniqueKey>
  19. <defaultSearchField>body</defaultSearchField>
  20. <solrQueryParser defaultOperator="AND"/>
  21. </schema>




サンプルとして、このblogの記事をデータ登録してみようと思っているので
id,title,bodyという3つのフィールドを作成しました。


ファイルの編集が終わったら、Tomcatを再起動します。

http://www.example.com:8080/solr/admin/schema.jspにアクセスしてみると、
正しく設定が反映されているか確認できると思います。

42_001.png



lucene-gosenのおかげで、とても設定が簡単になりました。
今度は、Pythonからデータの登録や検索を試してみようと思います。




【参考URL】

Apache Solr 3.3.0 で日本語検索できるようになるまでにしたこと
http://d.hatena.ne.jp/lettas0726/20110711/1310375789

Java製形態素解析ライブラリ「lucene-gosen」を試してみる
http://www.mwsoft.jp/programming/munou/lucene_gosen.html
関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ