Instalasi Apache Solr 4.6.0 dan kompatibilitas dengan Drupal7

14

Saya mengalami kesulitan menginstal Apache Solr. Versi terbaru yang saya unduh adalah 4.6.0. Tetapi semua dokumentasi dan tutorial Drupal (lihat http://www.youtube.com/watch?v=ori-VvvH1Aw ) berbicara tentang 3.5.0. Sementara 3.5.0 tidak dapat ditemukan di internet, 4.6.0 memiliki struktur direktori yang sama sekali berbeda, dan tidak ada dokumentasi tentang cara menginstal versi terbaru ini di server atau di WAMP lokal. Tidak disebutkan versi Apache Solr mana yang paling direkomendasikan untuk bekerja dengan Drupal? Ada bantuan?

drupalina
sumber
Ada artikel yang bagus di sini: lullabot.com/blog/article/installing-solr-use-drupal Yang bekerja untuk saya di 4.5.1. Jika Anda ingin menggunakan Search API Solr maka saya menulis contoh instalasi untuk Ubuntu 12.04 di sini: drupal.org/node/2143715
Dominic Woodman

Jawaban:

21

Anda tidak sendirian, saya harus menjelajahi internet dan membaca beberapa artikel sebelum saya benar-benar mengerti semua ini. Saya mencoba tiga metode yang berbeda sampai akhirnya berhasil!

Jika Anda menggunakan Debian / Ubuntu (dengan Tomcat7) itu bahkan lebih mudah daripada kebanyakan garis besar. Saya lebih suka ini daripada Lullabot karena ketika Anda menginstalnya melalui Ubuntu itu sebenarnya layanan dan kurang mengutak-atik :)

Instal Java

apt-get install java7-jdk

Instal Tomcat

apt-get install tomcat7 tomcat7-admin

Setelah ini selesai, Anda dapat http://localhost:8080melihat dan melihat bahwa semuanya berjalan dengan baik.

Catatan: Disarankan untuk mendorong port ke port lain karena 8080 cukup umum. Jika Anda ingin melakukannya gunakan kode ini untuk itu!

sudo sed -i s/8080/8983/g /var/lib/tomcat7/conf/server.xml

Konfigurasikan Tomcat

  1. Anda ingin benar-benar membuat akun pengguna untuk Tomcat sehingga orang lain harus masuk ke admin (itu membuatnya lebih aman).

    nano /var/lib/tomcat7/conf/tomcat-users.xml

  2. Kemudian tambahkan argumen xml ini di antara <tomcat-users>tag

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

  3. Sekarang Anda dapat memulai kembali kucing jantan lagi dan melihat halaman admin di http://localhost:8983/manager/html

    service tomcat7 restart

Instal Solr

  1. Unduh ApacheSolr terbaru di sini (Ketika saya menulis ini saya membuatnya bekerja dengan 4.7)

  2. Ekstrak file ke dalam direktori

Salin file perpustakaan Solr

Selanjutnya kita ingin menambahkan file perpustakaan ke direktori perpustakaan Tomcat. Catatan: Anda juga dapat menggunakan symlink jika diinginkan, tetapi untuk memahami di mana semuanya berjalan saya memilih untuk menempatkannya langsung di direktori

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

Mungkin juga ide yang baik untuk menyalin perpustakaan java dari solr / dist / solrrj-lib / *

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

Salin file aplikasi Solr WAR

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

Setup inti Drupal ApacheSolr

  1. Pertama-tama kita perlu menyalin file konfigurasi sampel dari ApacheSolr.

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

  2. Selanjutnya ambil versi terbaru dari modul apachesolr https://drupal.org/project/apachesolr dan unzip

    tar xvf apachesolr-*.tar.gz

  3. Sinkronkan file konfigurasi apachesolr (untuk Drupal) dengan konfigurasi solr Anda

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

Catatan: Saya menemukan kesalahan di mana ApacheSolr menolak untuk memulai karena kesalahan duplikat. Saya melaporkan di sini sehingga Anda mungkin ingin melihat solusinya di sini karena pada saat menulis ini saya tidak bisa menjalankannya tanpa itu!

  1. Buat file definisi inti untuk memberi tahu Apache Solr core mana yang tersedia.

    nano /var/lib/tomcat7/solr/solr.xml

  2. Rekatkan kode berikut di dalam file itu

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

Buat direktori inti Drupal

Ini akan membuat inti baru di sistem Anda dengan nama itu. Jika Anda ingin menambahkan lebih banyak, Anda cukup mengulangi langkah ini dan juga yang di atas.

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

Mari Jadikan Hidup

  1. Anda di bentangan terakhir !! Mari kita tomcat7 tidur

    service tomcat7 stop

  2. Sekarang ubah izin pada direktori kucing jantan

    chown -R tomcat7:tomcat7 /var/lib/tomcat7

  3. Mulai kembali

    service tomcat7 start

Itu Langsung

Anda harus dapat mengunjungi http://localhost:8983/solrdan melihat contoh inti baru yang tersedia! Sekarang Anda dapat melanjutkan dan mengkonfigurasi drupal untuk menunjukkan hal itu.

Catatan: Inti baru Anda berada di http://localhost:8983/solr/!!yourcorename!!untuk digunakan dalam modul Drupal ApacheSolr.

Kredit dan alat peraga jatuh ke Pacoup

seperti shaneonabike
sumber
1
Panduan hebat. Di bawah "configure Tomcat" itu hilang xml di bawah langkah 2: "Kemudian tambahkan argumen xml ini di antara tag" ... tidak ada xml yang diberikan.
Jordan Magnuson
Hmm itu ada di sana tetapi Anda tidak bisa melihatnya mungkin karena browser Anda? Biarkan saya mencoba dan mengubah output untuk memperbaikinya
shaneonabike
Sebenarnya saya baru saja memeriksa dan saya menggunakan tag kode yang tepat?
shaneonabike
Lihat tangkapan layar: i.imgur.com/s1jlunf.png
Jordan Magnuson
Aku telah memperbaikinya. kode xml harus ditempatkan di antara ``
Jordan Magnuson
1

Perubahan ke Solr 4 telah dibahas dalam antrian masalah: https://drupal.org/node/1676224

Masalah ini berisi sejumlah tautan ke situs dan tutorial kotak pasir.

Ursula
sumber
1

Berikut ini penjelasannya dalam Dokumentasi Komunitas Drupal ( Menginstal Solr di Tomcat ):

CentOS

Walk-through ini mengasumsikan Anda sudah menginstal Tomcat. Jika tidak, mungkin lebih mudah menggunakan WHM dan menginstalnya di sana dan membangun kembali apache. Point dan klik adalah apa yang saya katakan.

Setelah Tomcat diinstal, Anda dapat memverifikasi instalasinya dengan membuka:

domain.com:8080 

Anda akan melihat halaman Tomcat default. Jika tidak, mintalah bantuan seseorang. Jika tidak, Anda akan menyakiti orang berikutnya yang mengalami masalah yang sama. Jika kami tidak ingin membantu kami tidak akan menjadi Open Source.

Unduh salinan Solr Anda. Jika Anda tidak tahu di mana mendapatkannya, cari di google.

Untuk mempermudah sekarang dan di masa depan, temukan instalasi Tomcat Anda

$ locate tomcat

Buat tautan lunak seperti ini:

ln -s /my/tomcat/location /tomcat

Jika Anda melakukannya dengan benar, Anda harus bisa adil

$ /tomcat

di sshd dan masuk ke direktori Anda.

Saya akan menggunakan /libdirektori untuk contoh saya. Jika Anda tidak memilikinya, buat dengan mkdir /libperintah.

  1. Ekstrak Solr ke lokasi sementara, demi saya, saya hanya mendapatkan file zip dari mirror Solr.

    $ unzip apache-solr-1.4.1.zip /lib/

    Bangun Solr Anda

    $ cd /lib/solr
    $ ant dist (you should see it building something.)
  2. Ganti nama file perang Anda untuk kemudahan penggunaan.

    $ 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. Salin solr.warke/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. Salin file xml dari lokasi apachesolr Anda. Biasanya itu akan:

    $ cp /home/YOUR_NAME/www/modules/apachesolr/*.xml /lib/solr/example/solr/conf</code>
  5. Buat file xml di Tomcat untuk memerintahkannya menjalankan Solr saat memulai Tomcat

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

    Rekatkan ini ke file baru Anda:

    <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>

    Dua nilai yang harus Anda sesuaikan adalah Konteks :: docBase (untuk menunjuk ke file .war Anda) dan Lingkungan :: nilai (untuk menunjuk ke direktori solr Anda). Perhatikan bahwa dalam contoh ini file .war ada di direktori solr, yang merupakan pola yang baik untuk diikuti.

    {Tekan Escapedan kemudian :w} dan kemudian {Tekan Tombol Escape dan kemudian :q}

  6. Mulai ulang Tomcat menggunakan WHM untuk kemudahan. Itu di bawah Restart Services. Lalu pergi ke sini:

    yourdomainname.com:8080/solr/admin

    Anda mungkin mendapatkan kesalahan ini:

    false dalam null ----------------------------------------------- -------------- java.lang.RuntimeException: java.io.IOException: Tidak dapat membuat direktori: / usr / share / solr / data / index di org.apache.solr.core.SolrCore .initIndex (SolrCore.java:398) di org.apache.solr.core.SolrCore. (SolrCore.java 5.0046) di ...

    Jangan panik. Saya gatcha!

    Pergi solrconfig.xmllagi

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

    dan modifikasi baris ini:

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

    untuk

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

    Mulai kembali Tomcat lagi dan buka di sini:

    yourdomainname.com:8080/solr/admin

    LAKUKAN JIKA ANDA TIDAK SUDAH:

    Buka file schema.xml Anda di /lib/solr/example/solr/conf:

    $ vi schema.xml

    Tambahkan ini di bagian setelah <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"/>

    Simpan dan keluar dari {Tekan EscapeTombol) :w(Tekan Enter) lalu (Tekan EscapeTombol) :q(Tekan Enter )

    Jika Anda menggunakan Nutch maka buka di sini dan instal / konfigurasikan nutch .

Untuk Apachesolr di Drupal 6.x, lihat: Setup Drupal 6.x dengan Apache Solr pada Tomcat6 dan Ubuntu .

kenorb
sumber
1

Semua versi solr harus bekerja dengan Drupal selama Anda memiliki modul yang mendukungnya.

Misalnya modul Apachesolr , memiliki file konfigurasi untuk: Solr: 3.x dan 4.x.

Untuk modul Pencarian API Solr Pencarian , Anda dapat menemukan file konfigurasi untuk Solr: 3.x, 4.x dan 5.x, sehingga seharusnya tidak menjadi masalah.

Cara menginstal Solr, itu hal lain. Ada banyak cara untuk melakukannya. Beberapa contoh di bawah ini.

Instalasi

OS X

Cara termudah adalah dengan menginstal Apache Solr terbaru menggunakan Homebrew, mis:

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

Sekarang instal Solr yang sudah diinstal dapat diakses di: http: // localhost: 8983 /

Debian / Ubuntu

Cara termudah adalah menginstal Solr melalui apt:

sudo apt-get install solr-tomcat

melalui Wayang

Gunakan boneka Wayang untuk menginstal Solr. Berikut adalah satu contoh solr4-tomcat.pp .

Secara manual (4.x atau 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

Periksa apakah berfungsi di: http: // localhost: 8983


Lihat juga:

kenorb
sumber