월요일부터 Apache Lucene을 공부중이다.
검색엔진에 대한 개념이 없어서 많은 시간을 들여 이것저것 해보고 있다.
단기 목표는 xrath.com에 검색창을 붙여 보는 것 ![]()
범주(블로그 범주말고)를 blog, taja_sentence, blog-comment 등으로 분리했고.. 블로그던 타자방 문구들이던 몽땅 다 mysql에 있으니 주우욱 import할 색인기를 만들었다.
TOKENIZE 하는 필드는 제목이랑 내용 전체인데 뭐 글이 313개밖에 없어서 -_- (이거 포함 314개) 검색 속도를 측정하기가 어렵다. CLI 툴 하나 만들어서 java, 사랑, 성격등을 검색해보니 다 1~2ms로 나온다.
포스트 1개당 1500번 루프를 돌려서 넣어봤다. 인덱스하는데 소요된 시간은 9시간 20분. 생성된 인덱스 파일은
-rw-r--r-- 1 rath dev 1095326060 1월 16 20:21 _b6ln.cfs
-rw-r--r-- 1 rath dev 4 1월 16 20:21 deletable
-rw-r--r-- 1 rath dev 30 1월 16 20:19 segments
문서 수는 313 * 1500 = 469,500 개이다. 인덱스 파일이 저렇게 큰 것은 글 내용을 모두 Field.Store.YES 했기 때문.
1~2ms의 1500배가 나오면 어떻게하나 하고 한 5초간 고민했었는데 그런 일은 일어나지 않았다 --
java ** 54000 matches ** (10 ms) jdk ** 24000 matches ** (5 ms) 사랑 ** 43500 matches ** (8 ms)
대략 다행. 아무래도 같은 내용이 1500개가 들어갔으니 검색에 이점이 있을지도 모르겠으나 큰 차이는 없을거라 추측해본다.
검색에 관련된 일을 해본 적이 없어서 그런지 너무나도 재미있다. ADD, REMOVE, MODIFY, SEARCH 명령어들을 tcp로 받아 결과를 처리할 검색엔진 데몬은 다 만들었고 테스트도 했으니.. 이제 웹에서 사용할 클라이언트 컴포넌트들 만들어야겠다.
그나저나 월요일 03시부터 시작해서.. 첫날 6시간 자고 두번째 날은 12시간 자고.. 아직 밖에 나가질 않았다. 아! 중간에 루씬 인 액션 책 사러 잠깐 서점 갔었다. ㅎㅎ 이거 하느라 밀린 포스팅이 무지 많은데.. 밀린 일들 할 생각하니 벌써부터 깜깜 -_-
Continue Reading
Discover more thoughts and insights
철학 책을 다시 읽으며 느낀 통찰
1년 정도 철학 책을 끊었다가 다시 읽어보고 있는데, 19세기 서양 철학자들의 말이 21세기 대한민국에도 어쩜 이렇게 잘 적용되는지 이해가 안 될 정도이다. 나를 포함한 이 세상에 사는 사람들의 성향은 변하지
Quercus 에서 워드프레스 metaWeblog.newMediaObject 호출시 문제점
Resin 3.2.0 의 Quercus 위에서 WordPress 2.6.3 을 돌렸다. 얼핏 보니 잘 돌아간다. UTF-8도 잘 되고~ 디비 설정에 문제도
얄팍한 아웃룩 일정 -_-
친구의 첫월급은 반드시 챙겨주는 센스. -\_-