'Solr'에 해당되는 글 3건

  1. 2014.12.25 data import handler
  2. 2014.07.18 [Solr] 솔라 설치 및 core 추가
  3. 2008.09.01 [solr] 이런 오픈소스가......ㄷㄷ;;;

data import handler

solr 2014.12.25 02:04

회사에서 개발하면서

spring-data를 사용해 solr와 연동하는 부분이 있는데

이게 생각보다 괜찮아서 색인도 spring data로 하고 있었다.


그러다 이번에 성능테스트를 하기 위해 mock 데이터를 수백만개를 집어넣고

전체색인을 돌렸더니... 4시간이 돌아도 색인이 안 끝난다. -_-


분명히 native query로 색인 할 수 있는 방법이 있을듯하여...

찾아보니 data import handler가 있다!



1. solrconfig.xml 수정

 - core별로 설정해줘야 한다.

add --
<lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
<lib dir="../../../dist/" regex="mysql-connector-java-5.1.34-bin.jar" />
 
add --
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
        <lst name="defaults">
                <str name="config">data-config.xml</str>
        </lst>
     </requestHandler>

2. data-config.xml 생성
- core별 conf 디렉토리에 위치
- datasource의 batchSize를 -1로 하지않으면 OOM 발생...

<dataConfig> <script><![CDATA[ function attributes(row){ row.put('type_' + row.get('itemType'), row.get('itemValue') ); row.remove('type'); row.remove('value'); return row; } ]]></script> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/product" user="" password="" batchSize="-1" /> <document> <entity name="item" query=" select a.productId, "> <field column="productId" name="productId"/> <field column="itemId" name="itemId"/> <entity name="types" query="SELECT d.itemId, e.name AS itemType, f.`name` as itemValue FROM ... AND d.itemId = ${item.itemId}" transformer="script:attributes" processor="CachedSqlEntityProcessor"> </entity> </entity> </document>

</dataConfig>


이제 인덱싱을 해보자!


Posted by 용식
TAG Solr

1. Solr 다운로드


2. 압축해제


3. example 디렉토리로 이동


4. cd solr


5. copy -r collection1 collection2


6. cd collection2


7. core.properties 편집하여 name 수정


8. conf/schema.xml 수정


9. example/multicore/solr.xml을 example/solr에 copy


10. example/solr/solr.xml을 편집하여 collection1, collection2에 대한 설정 추가


11. example에서 java -jar start.jar 실행


12. core의 디렉토리를 변경하고 싶을때는 java -jar start.jar -Dsolr.solr.home=/~~~ 실행

 

Posted by 용식
TAG Solr

얼마전에 휴가를 다녀왔습니다.

지금은..열심히 사회 적응 훈련 중입니다 -_-;

루씬으로 한글 Analyzer를 만들고, 커스텀 쿼리 파서도 만들고, 나름대로 톰캣에 올려서

검색서버 처럼 사용하게 할 수 있는 파이럿 프로그램까지 만들었는데..

루씬 메일링 리스트에 solr solr 하길래 뭔가 봤더니..

음...정확히 안봐서 모르겠지만 검색서버인듯 하군요...-_-;;;

ㅠㅠ

뛰어난 사람들이 만든 오픈 소스니 성능도 좋을 것 같고..실제로 써보셨다는 어느분의 포스트를 보아도

상당히 좋은 성능을 발휘하는 모양입니다..

색인과 검색 부분을 담당해 준다던데..

프로젝트 시작이 이제 코앞이라 이거 볼 수 있을지 모르겠지만

한번 살펴보려고 합니다.

세상은 넓고 오픈 소스는 정말 많네요 -_-b

루씬을 사용 한 것이라 가능하겠지만..아무튼 이녀석이 Analyzer 교체가 가능하고, 커스텀 쿼리 파서를 사용 할

수 있고, sort나 ranking을 커스터 마이즈 할 수 있는 구조라면 이녀석을 활용하는 것도 좋을것 같다는

생각이 들지만...프로젝트가 코앞이라

solr에 대한 지식이 너무 없어서 섣불리 못 덤비겠네요.

아무튼 세상엔 짱이신 분들이 좀 많으신듯...ㄷㄷ;

Posted by 용식
TAG Lucene, Solr