掲示板
Liferay 6.2 + Solr4.3.1 + Solr4 プラグインの組み合わせ
8年前 に Yasuyuki Takeo によって更新されました。
Liferay 6.2 + Solr4.3.1 + Solr4 プラグインの組み合わせ
Junior Member 投稿: 30 参加年月日: 12/09/13 最新の投稿
Liferay6.2はデフォルトで検索エンジンとしてLucene3.5を使用しています。トークナイザーにCJKAnalyzerを使用しているのですが、日本語分解の精度があまり高くありません。また外部から設定を変更するのが難しい(extプラグインが必要になります)のと、細かいチューニングが難しいため、Solrの使用をお勧めします。
Liferay6.2ではSolr4プラグインが提供されており、これを使用すれば簡単にSolrとLiferayを統合することができます。
Liferay6.2が正式にサポートしているSolrバージョンは4.3.1となっています。
1. Liferay6.2サーバーを立ち上げる
2. コントロールパネルのStoreからsolr4プラグインをMarketplaceからインストール
3. 別途でインストールしたSolr4.3.1を設定する
solr-4.3.1/example/solr/collection1/conf以下に
をコピー。
4. solr4-web/WEB-INF/classes/META-INF/solr-spring.xmlの
赤字のところを、自分の環境のSolrサーバーを指すように書き換えます。SolrサーバーとLiferayが同一のサーバーで動作させる場合は、http://localhost:8983/solrで立ち上がります。
5. Liferayを一旦停止する
6. Solrを起動
7. Liferayを再起動
8. https://github.com/yasuflatland-lf/LocalizedIndexerPostProcessor-hookからマルチバイト検索機能向上用のhookをダウンロード、Liferayサーバーと同等のSDKを用いてコンパイル、Liferayサーバーにデプロイする。
9. デプロイ完了後、コントロールパネル -> サーバー管理->検索で利用するインデックスを再構築する。とスペルチェック用インデックスを再構築する。を実行
これで検索準備が整います。
Solr4プラグインに含まれるschema.xmlをご覧になるとわかるように、デフォルトではKuromojiを形態素解析エンジンに使用した、JapaneseTokenizerFactoryが使用されています。またN-Gram用のNGramTokenizerFactoryも使用できるので、bi-gramなどでのインデックスも行うこともできます。使用できるTokenizerの詳細はSolr4.3.1のマニュアルを参照ください。
Liferay6.2ではSolr4プラグインが提供されており、これを使用すれば簡単にSolrとLiferayを統合することができます。
Liferay6.2が正式にサポートしているSolrバージョンは4.3.1となっています。
1. Liferay6.2サーバーを立ち上げる
2. コントロールパネルのStoreからsolr4プラグインをMarketplaceからインストール
3. 別途でインストールしたSolr4.3.1を設定する
solr-4.3.1/example/solr/collection1/conf以下に
solr4-web/WEB-INF/conf/solrconfig.xml
solr4-web/WEB-INF/conf/schema.xml
をコピー。
4. solr4-web/WEB-INF/classes/META-INF/solr-spring.xmlの
<bean id="com.liferay.portal.search.solr.server.BasicAuthSolrServer" class="com.liferay.portal.search.solr.server.BasicAuthSolrServer">
<property name="defaultMaxConnectionsPerRoute" value="20" />
<property name="httpRequestInterceptors">
<list>
<bean class="com.liferay.portal.search.solr.interceptor.PreemptiveAuthInterceptor" />
</list>
</property>
<property name="maxTotalConnections" value="20" />
<property name="url" value="http://localhost:8983/solr" />
</bean>
赤字のところを、自分の環境のSolrサーバーを指すように書き換えます。SolrサーバーとLiferayが同一のサーバーで動作させる場合は、http://localhost:8983/solrで立ち上がります。
5. Liferayを一旦停止する
6. Solrを起動
/solr-4.3.1/example$ java -jar start.jar
7. Liferayを再起動
8. https://github.com/yasuflatland-lf/LocalizedIndexerPostProcessor-hookからマルチバイト検索機能向上用のhookをダウンロード、Liferayサーバーと同等のSDKを用いてコンパイル、Liferayサーバーにデプロイする。
9. デプロイ完了後、コントロールパネル -> サーバー管理->検索で利用するインデックスを再構築する。とスペルチェック用インデックスを再構築する。を実行
これで検索準備が整います。
Solr4プラグインに含まれるschema.xmlをご覧になるとわかるように、デフォルトではKuromojiを形態素解析エンジンに使用した、JapaneseTokenizerFactoryが使用されています。またN-Gram用のNGramTokenizerFactoryも使用できるので、bi-gramなどでのインデックスも行うこともできます。使用できるTokenizerの詳細はSolr4.3.1のマニュアルを参照ください。