ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Solr] core 여러개 만들기
    개발하면서/etc 2011. 8. 28. 09:47
    반응형

    http://apache.tt.co.kr/lucene/solr/3.3.0/  에서 solr를 다운받습니다.  ( 8/28 solr 3.3.0 version )

     

    1. port를 변경하여 두개의 solr를 실행하는 방법  

    ( http://wiki.apache.org/solr/DistributedSearch )

     . example 폴더를 복사한다.

     

    . example7574\etc\jetty.xml에서 port를 변경한다.

    <Call name="addConnector">
      <Arg>
        <New class="org.mortbay.jetty.bio.SocketConnector">
          <Set name="host"><SystemProperty name="jetty.host" /></Set>
    <!--      <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>  이부분을 아래와 같이 변경-->
          <Set name="port"><SystemProperty name="jetty.port" default="7574"/></Set>
          <Set name="maxIdleTime">50000</Set>
          <Set name="lowResourceMaxIdleTime">1500</Set>
          <Set name="statsOn">false</Set>
        </New>
      </Arg>
    </Call>

     

    . 콘솔창을 두개 연다음 하나는 example\에 있는 start.jar 실행 다른 하나는 example7574에 있는 start.jar 실행

     

    D:\temp\apache-solr-3.3.0\example7574> java -Dsolr.solr.home=d:\temp\apache-solr-3.3.0\example7574\solr -Dsolr.abortOnConfigurationError=true -jar start.jar 
    D:\temp\apache-solr-3.3.0\example> java -Dsolr.solr.home=d:\temp\apache-solr-3.3.0\example\solr -Dsolr.abortOnConfigurationError=true -jar start.jar  

     

    2. solr.xml 설정하기

    solr.xml    // core당 schema, config 설정을 해준다.
    <solr persistent="false">
      <!--
      adminPath: RequestHandler path to manage cores.  
        If 'null' (or absent), cores will not be manageable via request handler
      -->
      <cores adminPath="/admin/cores">
        <core name="collection1000" instanceDir="." schema="schema_1000.xml" config="solrconfig_1000.xml" />
        <core name="collection2000" instanceDir="." schema="schema_2000.xml" config="solrconfig_2000.xml" />
      </cores>
    </solr>

    . config 폴더에서 solrconfig, schema 파일을 solr.xml에서 설정한 만큼 만든다.
    . 동일한 port에서 두개 이상의 core를 사용하기 때문에 접근하는 url이 변경된다.

    기존 : [host]:[port]/solr/~~~~(update, dataimport, select, 사용)
    변경 : [host]:[port]/solr/[coreName]/~~~~(update, dataimport, select, 사용)

     오......그럼 색인어별 (ㄱ-ㄹ, ㅇ-ㅎ) 나눠서 코어별로 색인 후 검색어가 들어오면 적당한 Core에만 질의하면 나름 분산 검색? ㅋㅋㅋㅋㅋ

     

     

    3. solr에서 multicore라는 폴더 활용하기

    D:\temp\apache-solr-3.3.0\example> java -Dsolr.solr.home=d:\temp\apache-solr-3.3.0\example\multicore -Dsolr.abortOnConfigurationError=true -jar start.jar 

    잘된다~~ ; )


    ================ 2011.08.29 추가  ================
    multicore 폴더에서 다수의 core를 하는데 dataimport를  하면 아래와 같은 에러가 발생한다.

     
    sample이라면 core0, core1 폴더가 있을텐데 각 폴더의 solrconfig.xml 에서 <config> 부분에 lib를 추가한다.

    <lib dir="../../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />

     

    반응형

    댓글

Designed by Tistory.