2015년 11월 26일 목요일

MSSQL + SOLR + Tomcat 구축 완료

생각보다 쉬웠네..

1. 준비물 : solr, mssql, tomcat, jdk1.6(반드시!!!!!)

2. 구축시 환경 : solr 4.3, mssql2000, tomcat 7, jdk1.6

3. 비고 : mssql jdbc driver 4.0을 구동 시키려면 jdk1.6 밖에 동작이 되지 않는다. solr 문제 같긴 한데.. jdk1.7이나 jdk1.6이나 차이가 별로 없으므로 그냥 jdk1.6 사용함.

4. 시작

4.1. solr 압축파일 해제 : 본인의 경우 --> D:\workspace\search\solr-4.3.0에 해제 함

4.2. solr 정상구동부터 시작

4.2.1. dist 디렉토리에 mssql jdbc driver를 넣는다(sqljdbc4.jar)

4.2.2. example 디렉토리에서 start.jar 실행(java -jar start.jar) --> 기본적으로 경량 WAS인 jetty가 실행된다. context의 경로는 example의 contexts의 solr-jetty-context.xml에서 설정 가능.

http://www.eclipse.org/jetty/configure.dtd
">
 
  /webapps/solr.war
  /etc/webdefault.xml
  /solr-webapp


4.2.3. http://localhost:8983/solr이 실행되면 1단계 성공!! 넌 이미 성공하고 있다!!

4.3 mssql과 solr 연결

4.3.0. CORE 추가(이걸 뺴먹었네..)

solr.xml안에 core를 추가한다...

 
   
    
 


4.3.1. D:\workspace\search\solr-4.3.0\example\example-DIH\solr\db 디렉토리를 D:\workspace\search\solr-4.3.0\example\solr에 복사해 놓는다. 요따구로..

4.3.2. D:\workspace\search\solr-4.3.0\example\solr\db\conf안의 db-data-config.xml와 schema.xml, solrconfig.xml를 편집한다.

4.3.2.1.  db-data-config.xml편집.
Sample
<dataconfig> <datasource driver="Java DB 드라이버" name="DB별칭" password="암호" url="JDBC연결문" user="계정"> <document> <entity deltaimportquery="DB질의어" name="item" pk="KEY커럼" query="업데이트시 사용할 쿼리"> <field column="상품코드" name="상품코드"> <field column="상품명" name="상품명"> </field></field></entity> </document> </datasource></dataconfig>

기본적인 데이터만 일단 가져오게 설정함.. 
가. dataSource에는 연결할 db 설정.. 일반적인 jdbc db pool 설정과 동일하다
나. entity의 name은 solr 관리자에서 참고할 이름임.
다. query는 요거 말고 deltaQuery도 있고 그런데.. 일단 저것만 하시라..(귀찮다)
라. field에서는 불러올 column 설정.
끗~~!

4.3.2.2.  schema.xml편집. 안에 내용이 너무 많아서.. 필요한 부분만...
  
   
   
   
   
   
   
   

prma_pcode
prma_name

가. 알아서 재주껏 수정!
나. uniqueKey도 변경해야 할 듯하나.. 실제 연동시 문제가 생기는 듯 하다..
끗~~~!

4.3.2.3 solrconfig.xml편집. 라이브러리 경로설정만 해주면 된다. 구글링 해보니 절대경로는 안되는듯 하다..상대경로로 입력.. dist의 경로를 잘 찾게 하시라!!



4.3.2. 이제 다시 solr 재시작 : 검색 코어 선택기에 위에 설정한 이름이 보인다.


4.3.3. Dataimport 시작 : 체크는 해주는 센스.. 데이터 받자마자 바로 입력을 위해서...
Auto-Refresh Status 체크하면 실시간으로 데이터가 들어오는걸 볼 수 있다. complete가 뜰때까지 대기.. 완료화면은 생략.. 초록색 글자가 뜰것이다..

4.3.4. 실행 테스트 q 항목에 검색컬럼:검색어 를 입력하고 출력형식(여기선 json)을 선택후 쿼리 실행을 하면 json 형태의 데이터 출력 완료.

4.3.5. solr + mssql 연동 끗~~~!~!

4.4. Tomcat과 연동 : jetty자체로 윈도우 서비스에 등록하기에 무리가 있어서... 사실.. 방법이 있는데.. 난 귀찮은게 싫다!!!! Tomcat으로 묶어서 윈도우 서비스에 올릴꺼임.. 싫으면 꺼져!!

4.4.1. 톰캣 설치 : 이 정도는 다들 하잖아요??

4.4.2. D:\workspace\search\solr-4.3.0\example\solr-webapp\webapp 안에 있는 파일을 Tomcat의 webapps로 복사.. 사실.. D:\workspace\search\solr-4.3.0\dist안의 solr war를 그냥 넣으면 Tomcat이 알아서 압축을 풀지만.. 이거나 저거나 똑 같음.. 다들 war 배포는 하잖아요?? 그따위꺼~!

4.4.3. Tomcat의 lib에 mssql jdbc driver 잊지말고 넣어주기!!!

4.4.4. 톰캣 실행 옵션에 solr이 실제 구동하는 경로를 넣어준다.
-DSolr.Solr.home=D:\workspace\search\solr-4.3.0\example\solr

4.4.5. Tomcat의 solr 웹컨테이너로 가서.. web.xml을 열고 env-entry의 주석을 풀고 수정해 준다.
다른건 필요없고 env-entry-value 값만 넣어주면 된다!!!

       solr/home
       D:\workspace\search\solr-4.3.0\example\solr
       java.lang.String
 

4.4.6. 브라우저 주소창에 http://localhost:8080/solr/#/를 힘차게 입력!!
위에서 본 jetty 구동화면이 나오면 성공.. 이하는 생략한다.. 할게 없거든...ㅡㅡ;;




끗~~~~~~~~~~~~~~~!! 안뇽~~~~~!

댓글 없음:

댓글 쓰기

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...