Solr4: 색인 복사

6951 단어 Solr

1. 수요


색인을 만드는 메인 서버로 끊임없이 데이터를 조회하고 데이터를 분석한 다음 색인을 제출한다.이렇게 하면 메인 서버의 CPU, 메모리, 하드디스크 IO가 매우 높게 차지하기 때문에 다시 그것을 이용하여 조회를 하면 사용자가 여러 번 효율에 영향을 줄 것이다.
그래서 Solr의 색인 복사 기능을 사용했습니다.복제된 색인을 이용하여 조회 수요를 충족시키는 것이다.만약 조회 사용자가 매우 많다면, 더 많은 복제를 구축하면 수요를 만족시킬 수 있다.
또한 사용자 정의 사전도 복사합니다. 메인 서버에서 사전을 유지하면 자동으로 서버에 동기화되어 색인과 조회 시 중국어 분사의 일치성을 유지합니다.

2. 환경


하드웨어: linux 서버 2대, IP는 각각 192.168.2.91/192.168.2.92
소프트웨어: Solr 4.1, Tomcat 7
모듈: 두 종류의 중국어 분사기, 자신의 웹 조회 프로젝트, 색인을 만드는 백엔드 프로그램.

3. 실현


두 서버가 이미 구축되어 Tomcat과 Solr 및 중국어 분사를 구성했다고 가정합니다.앞의 문장을 구체적으로 참고하다.
여기 있는 Solr는 멀티코어(Multi Core)를 사용하고 두 개의 코어를 설정했습니다. 하나는 뉴스 정보를 처리하는 데 뉴스입니다.하나는 웹입니다. 마이크로 박식 정보를 처리하는 데 사용됩니다.그것들의 데이터 구조는 다르다.이 두 코어는 모두 복제를 설정했습니다. 이렇게 인덱스의 제출 인터페이스는 http://192.168.2.91/solr/newshttp://192.168.2.91/solr/wb입니다.색인 검색 인터페이스는 http://192.168.2.92/solr/newshttp://192.168.2.92/solr/wb이다.
1). 색인을 만드는 백그라운드 프로그램은 메인 서버 192.168.2.91에서 실행되며 색인 제출 인터페이스에 데이터를 제출합니다.
2). 자신의 웹 조회 항목은 192.168.2.92(물론 192.168.2.91도 배포할 수 있습니다)에 배치하여 색인 조회 인터페이스에 데이터를 조회합니다.
Solr 마스터 서버 192.168.2.91, $SOLR_HOME/news/conf/solrconfig.xml의 관련 구성은 다음과 같습니다.
  <requestHandler name="/replication" class="solr.ReplicationHandler" >
    <!-- To enable simple master/slave replication, uncomment one of the sections below, depending on wether this solr instance should be the "master" or a "slave". If this instance is a "slave" you will also need to fill in the masterUrl to point to a real machine. -->
    <lst name="master">
      <!-- , :optimize( ),commit( ), startup( ), -->
      <str name="replicateAfter">startup</str>
      <str name="replicateAfter">commit</str>
      <str name="replicateAfter">optimize</str>
      <!---->
      <str name="confFiles">schema.xml,negative.dic,words-my.dic</str>
    </lst>
  </requestHandler>

Solr 서버에서 192.168.2.92, $SOLR_HOME/news/conf/solrconfig.xml의 관련 구성은 다음과 같습니다.
  <requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="slave">
        <!-- url, -->
        <str name="masterUrl">http://192.168.2.92/solr/news/replication</str>; <!-- ; ; solr ;-->
        <str name="pollInterval">00:00:30</str>
    </lst>
  </requestHandler>

위에는 Solr의 한 코어(news) 설정이 있고, 다른 코어(wb)도 같은 설정을 하면 된다.

4. 결과


위의 구성을 거친 후 각 Tomcat을 다시 시작하고 주 서버에서 색인 생성 루틴을 실행하면 서버에서 자동으로 업데이트됩니다. Tomcat 백그라운드에서 자동 동기화 정보를 보거나 서버의 Solr 관리 콘솔의 복제 모듈에서 현재 상태를 볼 수 있습니다.

좋은 웹페이지 즐겨찾기