web-dev-qa-db-ja.com

Apache Solr 4.6.0のインストールとDrupal7との互換性

Apache Solrのインストールに問題があります。ダウンロードした最新バージョンは4.6.0です。しかし、すべてのDrupalドキュメントおよびチュートリアル( http://www.youtube.com/watch?v=ori-VvvH1Aw を参照)は3.5.0について話している)。 3.5.0はインターネット上では見つかりません。4.6.0のディレクトリ構造はまったく異なり、この最新バージョンをサーバーまたはローカルWAMPにインストールする方法に関するドキュメントはありません。どのApache Solrについても言及されていません。バージョンはDrupalで動作することが最も推奨されますか?助けはありますか?

14
drupalina

これだけを理解する前に、インターネットを調べていくつかの記事を読む必要があったのはあなただけではありません。最終的に正しくなるまで、私は3つの方法を試しました!

Debian/Ubuntu(Tomcat7を使用)を使用している場合は、ほとんどの場合よりも簡単です。 Ubuntu経由でインストールした場合、実際にはサービスであり、手間が少ないため、Lullabotよりもこれを選択しました。

Javaをインストールする

apt-get install Java7-jdk

Tomcatをインストールする

apt-get install Tomcat7 Tomcat7-admin

これが完了すると、http://localhost:8080にアクセスして、すべて正常に動作していることを確認できます。

注:8080はかなり一般的であるため、ポートを別のポートにプッシュすることをお勧めします。あなたがそれをしたいなら、そのためにこのコードを使ってください!

Sudo sed -i s/8080/8983/g /var/lib/Tomcat7/conf/server.xml

Tomcatを構成する

  1. 他の人が管理者にログインする必要があるように、Tomcatのユーザーアカウントを実際に作成する必要があります(それにより安全が維持されます)。

    nano /var/lib/Tomcat7/conf/Tomcat-users.xml

  2. 次に、これらのxml引数を<Tomcat-users>タグの間に追加します

    <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="!!somename!!" password="!!somepassword!!" roles="manager-gui,admin-gui"/>

  3. これで、Tomcatを再起動して、http://localhost:8983/manager/htmlの管理ページを表示できます。

    service Tomcat7 restart

Solrをインストールする

  1. 最新の ApacheSolrをダウンロードしてください (これを書いたとき、4.7で動作しました)

  2. ファイルをディレクトリに抽出します

Solrライブラリファイルのコピー

次に、ライブラリファイルをTomcatライブラリディレクトリに追加します。 注:必要に応じてシンボリックリンクを使用することもできますが、すべての場所を理解するために、ディレクトリに直接配置することを選択しました

cp ~/solr-4.x.x/example/lib/ext/* /usr/share/Tomcat7/lib/

Javaライブラリもコピーすることをお勧めします

cp ~/solr-4.x.x/dist/solrj-lib/* /usr/local/Tomcat7/lib/

Solr WARアプリファイルをコピーする

cp ~/solr-4.x.x/dist/solr-4.x.x.war /var/lib/Tomcat7/webapps/solr.war

セットアップDrupal ApacheSolrコア

  1. 最初に、ApacheSolrからサンプル構成ファイルをコピーする必要があります。

    mkdir -p /var/lib/Tomcat7/solr cp -r ~/solr-4.x.x/example/solr/collection1/conf /var/lib/Tomcat7/solr/

  2. 次に、apachesolrモジュールの最新バージョン を取得し、https://drupal.org/project/apachesolr を解凍します。

    tar xvf apachesolr-*.tar.gz

  3. Apachesolr構成ファイル(Drupal用)をsolr構成と同期します。

    rsync -av apachesolr/solr-conf/solr-4.x/ /var/lib/Tomcat7/solr/conf/

注:重複するエラーのためにApacheSolrが起動を拒否するエラーを見つけました。 here と報告したので、 here の解決策を確認することをお勧めします。それなしで走る!

  1. コア定義ファイルを作成して、使用可能なコアをApache Solrに通知します。

    nano /var/lib/Tomcat7/solr/solr.xml

  2. そのファイル内に次のコードを貼り付けます

    <?xml version="1.0" encoding="UTF-8" ?> <solr persistent="false"> <cores adminPath="/admin/cores"> <core name="!!yourcorename!!" instanceDir="!!yourcoredir!!" /> </cores> </solr>

作成Drupalコアディレクトリ

これにより、システムにその名前で新しいコアが作成されます。さらに追加したい場合は、上記の手順と同様にこの手順を繰り返すだけです。

mkdir /var/lib/Tomcat7/solr/!!yourcoredir!!
cp -r /var/lib/Tomcat7/solr/conf /var/lib/Tomcat7/solr/!!yourcoredir!!/

生きよう

  1. ラストストレッチで!! Tomcat7をスリープ状態にしましょう

    service Tomcat7 stop

  2. 次に、Tomcatディレクトリの権限を変更します。

    chown -R Tomcat7:Tomcat7 /var/lib/Tomcat7

  3. バックアップを開始

    service Tomcat7 start

ライブです

http://localhost:8983/solrにアクセスして、新しいコアインスタンスが利用できるようになるはずです。これで先に進み、drupalを指すように構成できます。

注:新しいコアはhttp://localhost:8983/solr/!!yourcorename!!にあり、Drupal ApacheSolrモジュールで使用されます。

クレジットと小道具は Pacoup に出ます

21
shaneonabike

すべてのsolrバージョンは、Drupalで動作するはずですが、それをサポートするモジュールがある限り。

たとえば Apachesolr module、has configuration files for:Solr:3.x and 4.x.

Search API Solr Search モジュールの場合、Solrの 構成ファイル を見つけることができます:3.x、4.x、および5.xなので、問題にはなりません。 。

Solrのインストール方法、それは別のことです。それを行うには多くの方法があります。以下のいくつかの例。

Installation

OS X

最も簡単な方法は、Homebrewを使用して最新のApache Solrをインストールすることです。例:

brew install solr
ln -sfv /usr/local/opt/solr/*.plist ~/Library/LaunchAgents
brew services start solr # Or just: solr start

現在インストールされているSolrインスタンスには次の場所からアクセスできます http:// localhost:8983 /

Debian/Ubuntu

最も簡単な方法は、aptを介してSolrをインストールすることです。

Sudo apt-get install solr-Tomcat

パペット経由

Puppetマニフェストを使用してSolrをインストールします。 solr4-Tomcat.pp の例を1つ示します。

手動(4.xまたは5.x)

$ VER=4.10.4 # Solr version.
$ Tomcat_BASE=/var/lib/Tomcat7
$ Sudo apt-get install Tomcat7 Tomcat7-admin
$ Sudo sed -i.org 's|port=\"8080\"|port=\"8983\"|g' /etc/tomcat?/server.xml
$ Sudo mkdir -p /opt/solr/home/collection1/conf /opt/solr/data
$ cd /opt/solr
$ curl -s http://archive.Apache.org/dist/lucene/solr/$VER/solr-$VER.tgz | Sudo tar zxvf -
$ Sudo cp -v /opt/solr/solr-$VER/dist/solr-$VER.war $Tomcat_BASE/webapps/solr.war
$ Sudo cp -v /opt/solr/solr-$VER/example/lib/ext/*.jar /opt/solr/solr-$VER/dist/solrj-lib/*.jar /opt/solr/solr-$VER/example/resources/log4j.properties $Tomcat_BASE/webapps/solr/WEB-INF/lib
$ curl -s http://ftp.drupal.org/files/projects/search_api_solr-7.x-1.x-dev.tar.gz | Sudo tar zxvf -
$ Sudo cp -v search_api_solr/solr-conf/4.x/* home/collection1/conf/
$ Sudo /etc/init.d/Tomcat7 restart

それが動作しているかどうかを確認してください: http:// localhost:898


以下も参照してください。

1
kenorb

Solr 4への変更は、問題キューで議論されています: https://drupal.org/node/1676224

この問題には、サンドボックスサイトとチュートリアルへのリンクが多数含まれています。

1
Ursula

Drupalコミュニティドキュメント( TomcatへのSolrのインストール )での説明は次のとおりです。

CentOS

このウォークスルーは、Tomcatがすでにインストールされていることを前提としています。そうでない場合は、WHMを使用してそこにインストールし、Apacheを再構築する方がおそらく簡単です。ポイントアンドクリックは私が言うことです。

Tomcatをインストールしたら、次のようにしてインストールを確認できます。

domain.com:8080 

デフォルトのTomcatページが表示されます。そうでない場合は、誰かに助けを求めてください。そうしないと、あなたは同じ問題を伴う次の人を傷つけています。私たちが手助けしたくなければ、オープンソースにはなりません。

Solrのコピーをダウンロードしてください。入手先がわからない場合は、ググってください。

現在および将来の作業を簡単にするために、Tomcatのインストールを見つけます

$ locate Tomcat

次のようなソフトリンクを作成します。

ln -s /my/Tomcat/location /Tomcat

あなたがそれを正しくやれば、あなたはちょうどできるはずです

$ /Tomcat

sshdでディレクトリに移動します。

私の例では/libディレクトリを使用します。ない場合は、mkdir /libコマンドを使用して作成します。

  1. Solrを一時的な場所に抽出します。私は、SolrミラーからZipファイルを取得します。

    $ unzip Apache-solr-1.4.1.Zip /lib/
    

    Solrを構築する

    $ cd /lib/solr
    $ ant dist (you should see it building something.)
    
  2. 使いやすいようにwarファイルの名前を変更します。

    $ cd /lib/Apache-solr-1.4.1
    $ cd dist
    $ mv Apache-solr-1.4.1.war solr.war  (this just renames it without asking you)
    $ dir  (check to make sure it worked. you should see solr.war)
    
  3. solr.war/lib/solr/exampleにコピー

    $ cp solr.war /lib/solr/example
    $ cd /lib/solr/example
    $ dir  (verify that the solr.war is in the directory, you should also see the familiar start.jar file there)
    
  4. Apachesolrの場所からxmlファイルをコピーします。通常は次のようになります:

    $ cp /home/YOUR_NAME/www/modules/apachesolr/*.xml /lib/solr/example/solr/conf</code>
    
  5. Tomcatでxmlファイルを作成して、Tomcatの起動時にSolrを実行するように指示します

    $ cd /Tomcat
    $ cd /conf/Catalina/localhost
    $ vi solr.xml
    

    これを新しいファイルに貼り付けます。

    <code>
    <?xml version="1.0" encoding="utf-8"?>
    <Context docBase="/solr/example/solr.war" debug="0" crossContext="true" >
       <Environment name="solr/home" type="Java.lang.String" value="/solr/example/solr" override="true" /> 
    </Context>
    </code>
    

    カスタマイズする必要がある2つの値は、Context :: docBase(.warファイルを指す)とEnvironment :: value(solrディレクトリーを指す)です。この例では、.warファイルがsolrディレクトリにあることに注意してください。これは、従うべき細かいパターンです。

    {押す Escape 次に:w}を押し、次に{Escキーを押してから:q}を押します。

  6. 簡単にするために、WHMを使用してTomcatを再起動します。それは再起動サービスの下にあります。次に、ここに行きます:

    yourdomainname.com:8080/solr/admin
    

    このエラーが発生する可能性があります:

    nullでfalse ----------------------------------------------- -------------- Java.lang.RuntimeException:Java.io.IOException:Cannot create directory:/ usr/share/solr/data/index at org.Apache.solr.core.SolrCore .initIndex(SolrCore.Java:398)at org.Apache.solr.core.SolrCore。(SolrCore.Java:546)at ...

    慌てる必要はありません。ガッチャ!

    もう一度solrconfig.xmlに移動します

    $ cd /solr/example/solr/conf
    $ vi solrconfig.xml
    

    次の行を変更します。

    <!--<dataDir>${solr.data.dir:./solr/data}</dataDir>-->
    

    <dataDir>${solr.data.dir:./solr/data}</dataDir>
    

    Tomcatを再起動して、次の場所に移動します。

    yourdomainname.com:8080/solr/admin
    

    まだ行っていない場合は、次のようにしてください。

    /lib/solr/example/solr/confのschema.xmlファイルに移動します。

    $ vi schema.xml
    

    これを<field>の直後のセクションに追加します。

      <field dest="Host" source="Host"/>
      <field dest="segment" source="segment"/>
      <field dest="boost" source="boost"/>
      <field dest="digest" source="digest"/>
      <field dest="tstamp" source="tstamp"/>
    

    保存して終了します{Press Escape ボタン):w(押す Enter)次に(Press Escape ボタン):q(押す Enter

    Nutchを使用している場合は、ここに移動して install/configure nutch を実行してください。

Drupal 6.xのApachesolrについては、次を参照してください: セットアップDrupal 6.xとTomcat6およびUbuntu上のApache Solr

1
kenorb