본문 바로가기

facet search

[Lucene] DrillDown Facet Search in Lucene 4.6.1 앞선 포스트에서 FacetSearch에 대해 간단하게 알아보았습니다. http://devyongsik.tistory.com/679 앞의 예제에서 카테고리를 "java"에서 "programming/java"와 같은 형태로 상위레벨의 카테고리를 같이 표현하면어떻게 될까요? 한번 테스트를 돌려보면 아래와 같은 exception이 발생합니다. java.lang.IllegalArgumentException: delimiter character '/' (U+2f) appears in path component "programming/lucene" "/" 이 캐릭터가 문제가 된다는 것을 대략 알 수 있는데요.. 앞에 예제의 결과에서 색인시 CategoryPath를 생성할때 CategoryPath cp = new Ca.. 더보기
[Lucene] FacetSearch in Lucene 4.6.1 오랜만에 Lucene 포스트입니다.FacetSearch의 샘플 코드인데요.. 기능 자체는 예전 버전부터 제공이 되었던 기능입니다.FacetSearch란 무엇이냐 하면 간단하게 SQL의 group by와 같은 기능이라고 생각하시면 됩니다. 보통 쇼핑몰에서 검색결과를 카테고리별로 묶어서 해당 카테고리에 몇개의 상품이 검색되어 있는지등을보여줄때 많이 사용됩니다. 그리고, DB도 그렇지만 성능에 많은 영향을 미치는 기능이기도 하지요.. 11번가에서 검색 운영을 할때도 이런저런 성능적인 이슈들이 많았지만 그중 검색결과 페이지의 로딩 속도에 큰 영향을 주는 부분은 바로 이 group by 기능이었습니다. 예전부터 Lucene의 이 기능을 한번 사용해보고 싶었는데 이제서야 학습테스트 코드로나마 작성해보네요.. --ㅋ.. 더보기