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에서 나를 위해 일했습니다. Search API Solr을 사용하려면 여기에 Ubuntu 12.04의 설치 예제를 작성했습니다. drupal.org/node/2143715
Dominic Woodman

답변:


21

당신은 혼자가 아닙니다. 제가이 모든 것을 진정으로 이해하기 전에 인터넷을 검색하고 여러 기사를 읽어야했습니다. 나는 마침내 그것을 올바르게 얻을 때까지 세 가지 방법을 시도했습니다!

Debian / Ubuntu (Tomcat7 사용)를 사용하는 경우 가장 개요가 훨씬 쉽습니다. 우분투를 통해 설치할 때 실제로 서비스가 적고 덜하기 때문에 Lullabot보다 이것을 선호했습니다. :)

자바 설치

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. 그런 다음 <tomcat-users>태그 사이에 xml 인수를 추가하십시오.

    <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. Apache 구성 파일 (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이 제공되지 않았습니다.
Jordan Magnuson

흠 그것은 있지만 브라우저의 원인을 볼 수 없습니까? 이를 해결하기 위해 출력을 변경해 보도록하겠습니다.
shaneonabike

실제로 방금 확인했는데 올바른 코드 태그를 사용하고 있습니까?
shaneonabike

: 스크린 샷을 참조하십시오 i.imgur.com/s1jlunf.png
요르단 매그너 슨

나는 그것을 고쳤다. xml 코드는`
Jordan Magnuson


1

Drupal Community Documentation ( Tomcat에 Solr 설치)에 설명되어 있습니다 .

CentOS

이 연습에서는 Tomcat이 이미 설치되어 있다고 가정합니다. 그렇지 않다면 WHM을 사용하여 설치하고 아파치를 다시 빌드하는 것이 더 쉬울 것입니다. 포인트 앤 클릭은 내가 말하는 것입니다.

Tomcat을 설치했으면 다음으로 이동하여 설치를 확인할 수 있습니다.

domain.com:8080 

기본 Tomcat 페이지가 나타납니다. 그렇지 않은 경우 누군가에게 도움을 요청하십시오. 그렇지 않으면 같은 문제가있는 다음 사람을 다치게됩니다. 우리가 돕고 싶지 않다면 오픈 소스가되지 않을 것입니다.

Solr 사본을 다운로드하십시오. 어디서 구할 수 있는지 모르는 경우 Google에 문의하십시오.

현재와 ​​미래의 작업을보다 쉽게하려면 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. 아파치 솔러 위치에서 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 파일을 가리킴)와 Environment :: value (Solr 디렉토리를 가리킴)입니다. 이 예제에서 .war 파일은 solr 디렉토리에 있으며 이는 좋은 패턴입니다.

    {눌러 Escape다음 :w} 후 {눌러 다음 키를 탈출 :q}

  6. 쉽게 WHM을 사용하여 Tomcat을 다시 시작하십시오. 서비스 다시 시작 아래에 있습니다. 그런 다음 여기로 가십시오 :

    yourdomainname.com:8080/solr/admin

    이 오류가 발생할 수 있습니다 :

    null의 경우 ----------------------------------------------- -------------- java.lang.RuntimeException : java.io.IOException : org.apache.solr.core.SolrCore에서 / usr / share / solr / data / index 디렉토리를 작성할 수 없습니다. org.apache.solr.core.SolrCore. (SolrCore.java:546)의 .initIndex (SolrCore.java:398) ...

    당황하지 마십시오. 나는 gatcha!

    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 검색 모듈, 당신은 찾을 수 있습니다 구성 파일을 SOLR을 위해 : 3.x를, 4.x 및 5.x의를, 그것은 문제가되지 않습니다 그래서.

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 / 에서 액세스 할 수 있습니다.

데비안 / 우분투

가장 간단한 방법은 다음을 통해 Solr을 설치하는 것입니다 apt.

sudo apt-get install solr-tomcat

꼭두각시를 통해

Puppet manifest를 사용하여 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 에서 작동하는지 확인하십시오 .


또한보십시오:

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.