Apache Solr 4.6.0 स्थापना और Drupal7 के साथ संगतता


14

मुझे अपाचे सोलर स्थापित करने में कठिनाई हो रही है। मेरे द्वारा डाउनलोड किया गया नवीनतम संस्करण 4.6.0 था। लेकिन सभी Drupal प्रलेखन और ट्यूटोरियल (देखें http://www.youtube.com/watch?v=ori-VvvH1Aw ) 3.5.0 से बात कर रहे हैं। जबकि इंटरनेट पर 3.5.0 कहीं नहीं पाया जाता है, 4.6.0 में पूरी तरह से अलग निर्देशिका संरचना है, और सर्वर या स्थानीय WAMP पर इस नवीनतम संस्करण को स्थापित करने के तरीके के बारे में कोई दस्तावेज नहीं है। इस बात का कोई उल्लेख नहीं है कि ड्रापल के साथ काम करने के लिए अपाचे सोलर संस्करणों की सबसे अधिक सिफारिश की गई है? कोई मदद?


यहाँ एक उत्कृष्ट लेख है: lullabot.com/blog/article/installing-solr-use-drupal जिसने मेरे लिए 4.5.1 पर काम किया। यदि आप Search API Solr का उपयोग करना चाहते हैं तो मैंने यहाँ Ubuntu 12.04 के लिए एक उदाहरण संस्थापन लिखा है: drupal.org/node/2143715
डोमिनिक वुडमैन

जवाबों:


21

इससे पहले कि मैं वास्तव में यह सब समझ पाऊं, आप अकेले नहीं थे, क्योंकि मुझे इंटरनेट पर बात करने और कई लेख पढ़ने पड़े। मैंने तीन अलग-अलग तरीकों की कोशिश की जब तक कि मैं अंत में सही नहीं हो गया!

यदि आप डेबियन / उबंटू (टॉमकैट 7 के साथ) का उपयोग कर रहे हैं, तो यह और भी आसान है। जब से आप इसे उबंटू के माध्यम से स्थापित करते हैं, तब से लुल्लाबोट पर इसे पसंद किया जाता है, यह वास्तव में एक सेवा है और बहुत कम है :)

जावा स्थापित करें

apt-get install java7-jdk

टोमकाट स्थापित करें

apt-get install tomcat7 tomcat7-admin

एक बार यह हो जाने के बाद आप देख सकते http://localhost:8080हैं कि यह सब ठीक से चल रहा है।

नोट: यह 8080 के बाद से पोर्ट को एक दूसरे से धकेलने की सिफारिश की जाती है जो बहुत आम है। यदि आप ऐसा करना चाहते हैं तो उसके लिए इस कोड का उपयोग करें!

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

टॉमकैट कॉन्फ़िगर करें

  1. आप वास्तव में टॉमकैट के लिए एक उपयोगकर्ता खाता बनाना चाहेंगे ताकि अन्य लोगों को व्यवस्थापक में लॉग इन करना पड़े (यह इसे सुरक्षित रखता है)।

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

  2. फिर <tomcat-users>टैग के बीच इन xml तर्कों को जोड़ें

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

  3. अब आप टॉमकैट को फिर से शुरू कर सकते हैं और व्यवस्थापक पृष्ठ को देख सकते हैं http://localhost:8983/manager/html

    service tomcat7 restart

सोलर स्थापित करें

  1. नवीनतम ApacheSolr यहाँ डाउनलोड करें (जब मैंने इसे लिखा तो मुझे यह 4.7 के साथ काम करना पड़ा)

  2. निर्देशिका में फ़ाइलों को निकालें

सोलर लाइब्रेरी फ़ाइलों की प्रतिलिपि बनाएँ

आगे हम लाइब्रेरी फाइलों को टॉम्केट लाइब्रेरी डायरेक्टरी में जोड़ना चाहते हैं। नोट: आप चाहें तो सिम्बलिंक का उपयोग भी कर सकते हैं, लेकिन यह समझने के उद्देश्य से कि सब कुछ जहाँ मैं जाता है, इसे सीधे निर्देशिकाओं में रखना है।

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

यह भी एक अच्छा विचार हो सकता है कि जावा पुस्तकालयों को सॉल / डिस्ट / सॉलराज-लिब / से कॉपी करें

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 के लिए) को सिंक्रनाइज़ करें

    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 core directory बनाएँ

यह आपके सिस्टम में उस नाम के साथ एक नया कोर बनाएगा। यदि आप अधिक जोड़ना चाहते हैं तो आप इस कदम को दोहरा सकते हैं और साथ ही ऊपर वाले को भी।

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

लेट्स मेक इट लाइव

  1. अपने आखिरी खिंचाव में !! चलो सोने के लिए tomcat7 रखो

    service tomcat7 stop

  2. अब टॉमकैट निर्देशिका पर अनुमतियों को बदलें

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

  3. इसे वापस शुरू करें

    service tomcat7 start

यह सजीव है

आपको http://localhost:8983/solrउपलब्ध नए कोर उदाहरण को देखने और देखने में सक्षम होना चाहिए ! अब आप आगे जा सकते हैं और उस बिंदु को इंगित करने के लिए ड्रुपल कॉन्फ़िगर कर सकते हैं।

नोट: आपका नया कोर http://localhost:8983/solr/!!yourcorename!!Drupal ApacheSolr मॉड्यूल में उपयोग करने के लिए स्थित है ।

क्रेडिट और प्रॉप्स पचौप को जाता है


1
महान मार्गदर्शक। "कॉन्फ़िगर टोमाकट" के तहत यह चरण 2 के तहत xml को याद कर रहा है: "फिर टैग के बीच इन xml तर्कों को जोड़ें" ... कोई xml नहीं दिया गया।
जॉर्डन मैग्नसन

हम्म यह वहाँ है, लेकिन आप इसे शायद अपने ब्राउज़र का कारण नहीं देख सकते हैं? मुझे कोशिश करने और आउटपुट को ठीक करने के लिए बदलने की
ज़रूरत

वास्तव में मैंने अभी जाँच की है और मैं उचित कोड टैग का उपयोग कर रहा हूँ?
शनोनाबाइक

स्क्रीनशॉट देखें: i.imgur.com/s1jlunf.png
जॉर्डन मैग्नसन

मैंने ठीक कर दिया। xml कोड को ``
जॉर्डन मैग्नसन

1

अंक 4 में बदलाव के मुद्दे पर चर्चा की गई है: https://drupal.org/node/1676224

समस्या में सैंडबॉक्स साइटों और ट्यूटोरियल के लिए कई लिंक हैं।


1

यहां बताया गया है कि यह ड्रुपल कम्युनिटी डॉक्यूमेंटेशन ( टॉमकैट पर सोलर स्थापित करना ) में वर्णित है :

CentOS

यह वॉक-थ्रू मान लेता है कि आपके पास पहले से टॉमकैट स्थापित है। यदि आप ऐसा नहीं करते हैं तो शायद WHM का उपयोग करना और उसे वहां स्थापित करना और अपाचे का पुनर्निर्माण करना आसान है। बिंदु और क्लिक करें जो मैं कहता हूं।

एक बार आपके पास टॉमकैट स्थापित हो जाने पर आप इसकी स्थापना को सत्यापित कर सकते हैं:

domain.com:8080 

आपको डिफ़ॉल्ट Tomcat पृष्ठ देखना चाहिए। यदि नहीं, तो मदद के लिए किसी से पूछें। यदि आप नहीं करते हैं, तो आप अगले व्यक्ति को चोट पहुँचा रहे हैं जो एक ही मुद्दे के साथ आता है। अगर हम मदद नहीं करना चाहते थे तो हम ओपन सोर्स नहीं होंगे।

अपने सोल की एक प्रति डाउनलोड करें। यदि आप नहीं जानते कि इसे कहाँ प्राप्त करना है, तो इसे गूगल करें।

अब और भविष्य में चीजों को आसान बनाने के लिए, अपने टॉमकैट इंस्टॉलेशन को खोजें

$ locate tomcat

एक नरम लिंक बनाएं जैसे:

ln -s /my/tomcat/location /tomcat

यदि आपने इसे सही किया तो आपको बस सक्षम होना चाहिए

$ /tomcat

sshd में और अपनी निर्देशिका में प्राप्त करें।

मैं /libअपने उदाहरण के लिए निर्देशिका का उपयोग करूंगा। यदि आपके पास एक नहीं है, तो इसे mkdir /libकमांड के साथ बनाएं ।

  1. निकालें Solr अस्थायी स्थान के लिए, मेरी खातिर, मैं सिर्फ Solr दर्पण से ज़िप फ़ाइल मिलता है।

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

    अपने सोल का निर्माण करें

    $ cd /lib/solr
    $ ant dist (you should see it building something.)
  2. उपयोग में आसानी के लिए अपनी युद्ध फ़ाइल का नाम बदलें।

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

    आपके द्वारा अनुकूलित किए जाने वाले दो मान होने चाहिए Context :: docBase (अपनी .war फ़ाइल की ओर इंगित करने के लिए) और पर्यावरण :: मूल्य (अपने सोल डायरेक्टरी को इंगित करने के लिए)। ध्यान दें कि इस उदाहरण में .war फ़ाइल सॉल डायरेक्टरी में है, जिसका अनुसरण करने के लिए एक अच्छा पैटर्न है।

    {दबाएँ Escapeऔर फिर :w} और फिर {प्रेस एस्केप कुंजी और फिर :q}

  6. डब्ल्यूएचएम का उपयोग करने के लिए टॉमकैट को फिर से शुरू करें। यह रिस्टार्ट सर्विसेज के तहत है। फिर यहां जाएं:

    yourdomainname.com:8080/solr/admin

    आपको यह त्रुटि मिल सकती है:

    असत्य में ----------------------------------------------- -------------- java.lang.RuntimeException: java.io.IOException: निर्देशिका नहीं बना सकते हैं: / usr / share / solr / data / index पर org.apache.solr.core.SolrCore .initIndex (SolrCore.java:398) org.apache.solr.core.SolrCore पर। (SolrCore.java) 46 पर ...

    घबराओ मत। मैं गच्चा!

    solrconfig.xmlफिर से जाना

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

    और इस पंक्ति को संशोधित करें:

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

    सेवा

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

    फिर से टॉमकट को पुनः आरंभ करें और यहां जाएं:

    yourdomainname.com:8080/solr/admin

    यदि आप पहले से ही यह नहीं कर रहे हैं:

    अपने स्कीमा.एक्सएमएल फ़ाइल में जाएं /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

सभी सोलर संस्करण को ड्रुपल के साथ तब तक काम करना चाहिए जब तक आप मॉड्यूल का समर्थन करते हैं।

उदाहरण के लिए Apachesolr मॉड्यूल, के लिए कॉन्फ़िगरेशन फ़ाइलें हैं: Solr: 3.x और 4.x।

के लिए खोज API Solr खोजें मॉड्यूल, आप पा सकते हैं विन्यास फाइल Solr के लिए: 3.x, 4.x और 5.x, तो यह एक समस्या नहीं होनी चाहिए।

सोलर कैसे स्थापित करें, यह एक और बात है। इसे करने के कई तरीके हैं। नीचे कुछ उदाहरण।

स्थापना

ओएस एक्स

सरल तरीका Homebrew का उपयोग करके नवीनतम अपाचे सोल स्थापित करना है, जैसे:

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

अब स्थापित सोलर इंस्टेंस यहां उपलब्ध है: http: // localhost: 8983 /

Debian / Ubuntu

सबसे आसान तरीका है सोलर को इनस्टॉल करना apt:

sudo apt-get install solr-tomcat

कठपुतली के माध्यम से

Solr स्थापित करने के लिए कठपुतली प्रकट का उपयोग करें। यहाँ एक solr4-tomcat.pp उदाहरण है।

मैन्युअल रूप से (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


यह सभी देखें:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.