2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Drupal 8 の検索で Solrを利用する

Posted at

Elasticsearchなども流行ってますが、案件でやるときの定番はSolrかなぁということで、Drupal8で、Solr検索を導入してみます。

感覚的には1万を超えるノードで検索機能があるときはMySQLの全文検索は厳しいなぁとおもってます。Solrだったら10万とかでも余裕ですね。
※Cronのインデックス更新の負荷は要注意ですけど

まずは、Solrを動かすために必要なJavaをいれます。今回はSolrの6系を入れるので、Javaは1.8です。

#  yum install java-1.8.0-openjdk	

元々Javaの1.7が入っていたので、1.8を使用するように変更します。

# alternatives --config java                                                                               

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number: 2

Javaのインストールと設定ができたので、Solrをインストールします。

# wget http://ftp.jaist.ac.jp/pub/apache/lucene/solr/6.6.2/solr-6.6.2.tgz  
# tar xzf solr-6.6.2.tgz 
# ./solr-6.6.2/bin/install_solr_service.sh solr-6.6.2.tgz 

testというコアを作ります。コアを作るときは、solrユーザになる必要があります。

# /etc/init.d/solr start

# su - solr 
$ cd /opt/solr/bin/
$ ./solr create_core -c test 

つづいて、Drupal で Solrを利用するためのモジュールをいれます。

$ drush en search_api
$ drush en search_api_solr

Project search_api_solr contains 2 modules: search_api_solr_defaults, search_api_solr.
Module search_api_solr doesn't meet the requirements to be enabled.                                                     [error]
Solr search requires the solarium/solarium library.                                                                     [error]

solarium が必要と怒られたので、composer でいれます。

$ composer require drupal/search_api_solr

すると、モジュールが入ります。


$ drush en search_api_solr
The following extensions will be enabled: search_api_solr
Do you really want to continue? (y/n): y
search_api_solr was enabled successfully.                                                                               [ok]

モジュールが提供する、Solrの設定ファイルを、Solrに読み込ませます。

# cp -R /home/drupal/html/hiqvc/modules/contrib/search_api_solr/solr-conf/6.x/*  /var/solr/data/test/conf/
# /etc/init.d/solr restart

あとは、管理画面の「環境設定」 > 「Search API」 で「Add Server」を押下し、先ほどインストールしたSolrの情報を入力し、「Add Index」で、インデックスしたいものを選択すれば完了です。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?