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


14

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


:ここでの優れた記事がありますlullabot.com/blog/article/installing-solr-use-drupal 4.5.1に私のために働きました。あなたが検索APIにSolrを使用したい場合は、私はこっちのUbuntu 12.04のための例のインストールを書いた:drupal.org/node/2143715
ドミニク・ウッドマン

回答:


21

このすべてを本当に理解する前に、私はインターネットを精査し、いくつかの記事を読む必要がありました。最終的に正しくなるまで、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/

solr / dist / solrrj-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が起動を拒否したというエラーが見つかりました。私はそれを報告し、ここであなたが解決策で見たいと思うかもしれませんので、ここで私はそれはそれなしで実行することができませんでしたこれを書いている時点でのよう!

  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に送られます


1
素晴らしいガイド。「Tomcatの設定」の下に、手順2の「タグの間にこれらのxml引数を追加」のxmlがありません... xmlが指定されていません。
ジョーダンマグナソン14年

うーん、それはそこにありますが、ブラウザの原因かもしれません。それを修正するために出力を変更してみましょう
shaneonabike 14年

実際にチェックしたばかりで、適切なコードタグを使用していますか?
shaneonabike 14年

スクリーンショットを見る:i.imgur.com/s1jlunf.png
ジョーダンマグナソン

それを私が直した。XMLコードは、 ``との間に配置する必要がある
ジョーダンマグナソン


1

Drupal Community Documentation(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:ディレクトリを作成できません:/ 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

    まだお持ちでない場合はこれを行ってください:

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

    $ 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"/>

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

    Nutchを使用している場合は、ここに移動してnutchをインストール/構成します

Drupal 6.xのApachesolrについては、Tomcat6およびUbuntuでApache Solrを使用してDrupal 6.xをセットアップするを参照してください。


1

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

たとえば、Apachesolrモジュールには、 Solr:3.xおよび4.xの構成ファイルます

検索API Solrの検索モジュール、あなたは見つけることができます設定ファイルを、それが問題になることはありませんので、3.xでは、4.xおよび5.xの:Solrのために。

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

設置

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

最も簡単な方法は、次の方法でSolrをインストールすることですapt

sudo apt-get install solr-tomcat

Puppet経由

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:8983で動作しているかどうかを確認します


こちらもご覧ください:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.