2015년 11월 26일 목요일

2. Classic ASP + Solr 연동



1. solr 구축은 알아서. 서비스로 올리는 것도 재주껏(이미 블로그에 써 놨음)

2. 데이터 import 시에 초기 데이터가 매우 중요하다. solr가 웃긴게 중간에 데이터 형이나 설정을 변경하면 이미 import 한 데이터는 소용이 없다. 오죽하면 구글링을 해보니 재 인덱싱에 대한 질문글이 수두룩 하다. 물론 보통의 글들이 "님아 재 인덱싱 따윈 없어요.. 요런 얍삽이도 있긴 함.."으로 정리됨.

3. solr는 절대 한글과 친하지 않기에 내 경우에는 별의별 상황 대비를 위해서 띄어쓰기를 제거한 컬럼을 별도로 준비해 놨다. (그리고 그게 주효했다!!!)

4. solr 4 cook book에 나온 내용은 별로 도움이 안되더라. 그냥 기본 개념 정리는 좀 되긴 했지만, 실전이랑은 좀 동 떨어져 있음. 더군다나 한글은.........RIP..

5. 잔소리 그만하고 DB에서 import해서 인덱싱 했던거 부터 소개.

6. db-data-config.xml

 >
  name="lifebook" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:서버JDBC형식 주소" user="사용자" password="비번" encoding="UTF-8"/>
    
         name="item" pk="pcode" 
        query="select * FROM VIEW A WHERE 1=1 "         
        deltaImportQuery="SELECT * FROM VIEW A WHERE prma_pcode= '${dih.delta.pcode}'"
        deltaQuery="SELECT pcode FROM VIEW A 
                    WHERE LEFT(upt_date,10)
                    BETWEEN CONVERT(CHAR(8),DATEADD(hh,-1,GETDATE()),112)+LEFT(REPLACE(CONVERT(CHAR(6),DATEADD(hh,-1,GETDATE()),108),':',''),2)
                    AND CONVERT(CHAR(8),GETDATE(),112)+LEFT(REPLACE(CONVERT(CHAR(6),GETDATE(),108),':',''),2)"

        >
             column="pcode" name="pcode" />
            column="pname" name="pname" />  
             column="search_pname" name="search_pname" />
        
        
    
>

6.1. 미리 DB에 뷰를 만들어서 가져올 데이터를 준비해 놨다. pcode는 유니크키, pname은 상품명, search_pname은 띄어쓰기 제거한 상품명

6.2. 증분쿼리로는 수정 시간이 1시간 이내인 것들을 가져오게 설정해 놓음, deltaImportQuery와 deltaQuery를 잘 보면 어떻게 적용하는지 알 수 있을 것이다.

6.3. 다시한번 강조하지만, 중간에 설정이 변경되거나 필드가 추가된다고 해도 기존 받아놓은 데이터랑은 상관없는 얘기다. 일일이 업데이트 하거나 새로 데이터 받아야 함(전체 인덱싱을 통해..). 검색 서비스 시작전에 충분히 테스트 후 적용하시길.. 물론 난 이미 서비스 중이어서 어쩔 수 없는 상황이 많다.

7. filed는 실제 운영에는 당근 저거보다 많다. 검색 내 검색 구현시에 사용함.

8. 2015년 4월 13일 추가 : 증분 데이터로 100건 이상 넘어간다면.. 그냥 새로 받는걸 추천한다. 회사 DB의 상품이 9만건 정도 라이브로 운영하는데.. 100건 업데이트 하는데 1시간 이상 걸림.. 즉시 반영 옵션 같은거 다 써 봤으나.. 결국.. 좀 대량이다 생각되면.. 개발 환경에 같은 검색 엔진 환경 세팅 해서 데이터 새로 받고 기존 검색서버 잠시 중지한 다음, 데이터(인덱스 파일)만 새로 올림.. 이렇게 하면 20분안에 끗~~~ 무료 엔진이라 그런지.. 좀.. 아쉬운 점이 많다..

댓글 없음:

댓글 쓰기

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

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