Apache Solr 4.6.0 kurulum ve Drupal7 ile uyumluluk


14

Apache Solr'u yüklerken sorun yaşıyorum. İndirdiğim en son sürüm 4.6.0 idi. Ancak tüm Drupal belgeleri ve öğreticileri (bkz. Http://www.youtube.com/watch?v=ori-VvvH1Aw ) 3.5.0 hakkında konuşuyor. 3.5.0 internette hiçbir yerde bulunmasa da, 4.6.0 tamamen farklı bir dizin yapısına sahiptir ve bu son sürümü bir sunucuya veya yerel bir WAMP'a nasıl kuracağınıza dair hiçbir belge yoktur. Drupal ile çalışmak için en çok hangi Apache Solr sürümlerinin önerildiğinden bahsedilmiyor mu? Herhangi bir yardım?


Burada mükemmel bir makale var: lullabot.com/blog/article/instal-solr-use-drupal Hangi 4.5.1 benim için çalıştı. Search API Solr kullanmak istiyorsanız, Ubuntu 12.04 için buraya örnek bir kurulum yazdım: drupal.org/node/2143715
Dominic Woodman

Yanıtlar:


21

Yalnız değilsiniz, tüm bunları gerçekten anlamadan önce interneti incelemek ve birkaç makale okumak zorunda kaldım. Sonunda doğru olana kadar üç farklı yöntem denedim!

Debian / Ubuntu (Tomcat7 ile) kullanıyorsanız, çoğu ana hattan daha kolaydır. Ben Ubuntu üzerinden yüklediğinizde aslında bir hizmet ve daha az uğraştırmak çünkü Lullabot tercih etti :)

Java'yı yükleyin

apt-get install java7-jdk

Tomcat'i yükleyin

apt-get install tomcat7 tomcat7-admin

Bu yapıldıktan sonra http://localhost:8080, her şeyin düzgün çalıştığını görebilirsiniz.

Not: 8080 oldukça yaygın olduğu için bağlantı noktasını bir başkasına itmeniz önerilir. Bunu yapmak istiyorsanız bunun için bu kodu kullanın!

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

Tomcat'i yapılandırın

  1. Aslında Tomcat için bir kullanıcı hesabı oluşturmak isteyeceksiniz, böylece diğer kişiler yöneticiye giriş yapmalıdır (daha güvenli tutar).

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

  2. Ardından bu xml bağımsız değişkenlerini <tomcat-users>etiketler arasına ekleyin

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

  3. Artık tomcat'i yeniden başlatabilir ve adresindeki yönetici sayfasını görüntüleyebilirsiniz. http://localhost:8983/manager/html

    service tomcat7 restart

Solr yükleyin

  1. En son ApacheSolr'u buradan indirin (Bunu yazdığımda 4.7 ile çalıştım)

  2. Dosyaları bir dizine çıkartın

Solr kütüphane dosyalarını kopyala

Sonra kütüphane dosyalarını Tomcat kütüphane dizinine eklemek istiyoruz. Not: İsterseniz sembol bağlantılarını da kullanabilirsiniz, ancak her şeyin nereye gittiğini anlamak amacıyla doğrudan dizinlere yerleştirmeyi seçtim

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

Java kitaplıklarını solr / dist / solrrj-lib / * dizininden kopyalamak iyi bir fikir olabilir.

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

Solr WAR uygulama dosyasını kopyala

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

Drupal ApacheSolr çekirdeğini kurun

  1. Öncelikle ApacheSolr'dan örnek yapılandırma dosyalarını kopyalamamız gerekir.

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

  2. Sonra apachesolr modülünün son sürümünü alın https://drupal.org/project/apachesolr ve sıkıştırmasını açın

    tar xvf apachesolr-*.tar.gz

  3. Apachesolr konfigürasyon dosyalarını (Drupal için) solr konfigürasyonunuzla senkronize edin

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

Not: ApacheSolr'un yinelenen hatalar nedeniyle başlatılmasını reddettiği bir hata buldum. Ben bildirdi burada böylece çözüme bakmak isteyebilirsiniz burada ben o olmadan çalışan alamadı bu yazı zaman itibariyle!

  1. Apache Solr'a hangi çekirdeklerin mevcut olduğunu söylemek için bir çekirdek tanım dosyası oluşturun.

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

  2. Aşağıdaki kodu bu dosyanın içine yapıştırın

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

Drupal çekirdek dizini oluşturma

Bu, sisteminizde bu adla yeni bir çekirdek oluşturur. Daha fazlasını eklemek isterseniz, bu adımı ve yukarıdaki adımı tekrarlayabilirsiniz.

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

Canlı Yapalım

  1. Senin son streç !! Hadi tomcat7'yi uyutalım

    service tomcat7 stop

  2. Şimdi tomcat dizinindeki izinleri değiştirin

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

  3. Geri başlat

    service tomcat7 start

Canlı

http://localhost:8983/solrYeni bir çekirdek örneğe gidip görebilmeniz gerekir ! Şimdi devam edip drupal'ı buna işaret edecek şekilde yapılandırabilirsiniz.

Not: Yeni çekirdeğiniz http://localhost:8983/solr/!!yourcorename!!Drupal ApacheSolr modülünde kullanılacak.

Kredi ve destek Pacoup'a gidiyor


1
Harika bir rehber. "Tomcat'i yapılandır" altında, 2. adımdaki xml eksik: "Sonra bu xml argümanlarını etiketler arasına ekleyin" ... xml belirtilmedi.
Jordan Magnuson

Hmm orada, ama tarayıcınızın nedenini göremiyor musunuz? Bunu düzeltmek için çıktıyı değiştireyim
shaneonabike

Aslında ben sadece kontrol ve uygun kod etiketleri kullanıyorum?
shaneonabike

Ekran görüntüsüne bakın: i.imgur.com/s1jlunf.png
Jordan Magnuson

Düzelttim. xml kodunun ``
Jordan Magnuson


1

Drupal Topluluk Belgeleri'nde ( Tomcat'e Solr Kurulumu ) nasıl tanımlandığı aşağıda açıklanmıştır :

CentOS

Bu gözden geçirme, Tomcat'in zaten kurulu olduğunu varsayar. Bunu yapmazsanız, WHM'yi kullanmak ve oraya yüklemek ve apache'yi yeniden oluşturmak muhtemelen daha kolaydır. İşaretle ve tıkla diyorum.

Tomcat kurulduktan sonra, aşağıdakilere giderek kurulumunu doğrulayabilirsiniz:

domain.com:8080 

Varsayılan Tomcat sayfasını görmelisiniz. Değilse, yardım isteyin. Eğer yapmazsanız, aynı sorunla birlikte gelen bir sonraki kişiye zarar veriyorsunuz. Eğer yardım etmek istemeseydik, Açık Kaynak olmazdık.

Solr bir kopyasını indirin. Nereden alacağınızı bilmiyorsanız google.

Şimdi ve gelecekte işleri kolaylaştırmak için Tomcat kurulumunuzu bulun

$ locate tomcat

Bunun gibi yumuşak bir bağlantı oluşturun:

ln -s /my/tomcat/location /tomcat

Eğer doğru yaptıysan,

$ /tomcat

sshd ve dizininize gidin.

Örneğim için /libdizini kullanacağım . Eğer bir tane yoksa, mkdir /libkomutla oluşturun.

  1. Solr'u geçici bir yere çıkarın, aşkım için sadece zip dosyasını Solr aynalarından alıyorum.

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

    Solr'nizi oluşturun

    $ cd /lib/solr
    $ ant dist (you should see it building something.)
  2. Savaş dosyanızı kullanım kolaylığı için yeniden adlandırın.

    $ 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. Şuraya kopyala 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. Xml dosyalarını apachesolr konumundan kopyalayın. Genellikle:

    $ cp /home/YOUR_NAME/www/modules/apachesolr/*.xml /lib/solr/example/solr/conf</code>
  5. Tomcat başlangıcında Solr'ı çalıştırmasını söylemek için Tomcat'te bir xml dosyası oluşturun

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

    Bunu yeni dosyanıza yapıştırın:

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

    Özelleştirmeniz gereken iki değer Context :: docBase (.war dosyanızı gösterecek şekilde) ve Environment :: değeridir (solr dizininizi gösterecek şekilde). Bu örnekte .war dosyasının solr dizininde olduğuna dikkat edin.

    { EscapeÖnce ve sonra :w} ve sonra {Escape tuşuna ve ardından :q}

  6. Kolayca WHM kullanarak Tomcat'i yeniden başlatın. Yeniden Başlatma Hizmetleri altındadır. O zaman buraya gidin:

    yourdomainname.com:8080/solr/admin

    Bu hatayı alabilirsiniz:

    null değeri yanlış ----------------------------------------------- -------------- java.lang.RuntimeException: java.io.IOException: org.apache.solr.core.SolrCore adresinde dizin oluşturulamıyor: / usr / share / solr / data / index .initIndex (SolrCore.java:398) org.apache.solr.core.SolrCore. (SolrCore.java:546) şirketinde ...

    Panik yapma. Ben geçiyorum!

    solrconfig.xmlTekrar git

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

    ve bu satırı değiştirin:

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

    için

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

    Tomcat'i yeniden başlatın ve buraya gidin:

    yourdomainname.com:8080/solr/admin

    ZORUNLU OLMADIĞINIZDA bunu yapın:

    Şema.xml dosyanıza şuradan gidin /lib/solr/example/solr/conf:

    $ vi schema.xml

    Bunu, hemen sonraki bölüme ekleyin <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"/>

    Kaydedip {Düğmeye Basın Escape) :w(Basın Enter) sonra (Düğmeye Basın Escape) :q(Basın Enter)

    Nutch kullanıyorsanız, buraya gidin ve nutch'ı kurun / yapılandırın .

Drupal 6.x'te Apachesolr için, bkz: Tomcat6 ve Ubuntu'da Apache Solr ile Drupal 6.x kurulumu .


1

Tüm solr sürümü, onu destekleyen modül olduğunuz sürece Drupal ile çalışmalıdır.

Örneğin Apachesolr modülünün yapılandırma dosyaları vardır : Solr: 3.x ve 4.x.

İçin Arama API Solr Arama modülü, bulabileceğiniz konfigürasyon dosyalarını Solr için: 3.x, 4.x ve 5.x, bu bir sorun olmamalı bu yüzden.

Solr nasıl kurulur, başka bir şey. Bunu yapmanın birçok yolu var. Aşağıda birkaç örnek verilmiştir.

Kurulum

OS X

En basit yol, Homebrew kullanarak en son Apache Solr'i kurmaktır, örneğin:

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

Şimdi kurulu Solr örneğine şu adresten erişilebilir: http: // localhost: 8983 /

Debian / Ubuntu

En basit yol Solr'ı şu yöntemle kurmaktır apt:

sudo apt-get install solr-tomcat

Kukla ile

Solr'u kurmak için Kukla manifest'i kullanın. İşte bir solr4-tomcat.pp örneği.

Manuel olarak (4.x veya 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

Çalışıp çalışmadığını kontrol edin: http: // localhost: 8983


Ayrıca bakınız:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.