요 몇달간 실제로 crescent를 사내에 포팅하고 사용하면서 자잘하게 나오던 문제들을 수정을 했었습니다.
1. was 구동시 -DcrescentHome 파라메터로 collections.xml 파일의 경로 지정
- war 배포가 기본이다보니, 기본 경로인 클래스패스에 collections.xml이 들어가 있으니
수정/reload등에 제약이 많아 별도 디렉토리에 설정파일을 위치시키고 읽을 수 있도록 수정하였습니다.
- 이것때문에 embedded DB를 쓰느니, 삽질 많이 했는데.. solr가 이런 형태로 사용하더라구요.. -.-ㅋ
- https://github.com/need4spd/crescent/wiki/02.-How-to-Start-Server
2. update를 한번에 한건씩만 가능하도록 걸려있던 제약을 풀었습니다.
- lucene에서의 update는 delete and insert로 동작합니다. 특정 쿼리에 대해 검색되는 document에 대해서 어떤 형태로던 update를 할 수 있습니다.
3. indexing command에 update_by_field_value command를 추가하였습니다.
- bulk indexing을 대체하기 위해서 만들었습니다. 하루한번 대량의 데이터 변경이 있고 이 데이터의 변경이 기존 데이터의 변경/ 새로운 데이터의 추가 (즉, insert or update)가 필요한 경우에 위 command를 사용하면 조건에 맞는 document는 update가 되고, 맞지 않는 document는 새롭게 insert가 됩니다.
- https://github.com/need4spd/crescent/wiki/05.-Indexing-File-Format
4. Highlighter를 FastVectorHighligher로 변경하였습니다.
- 기존의 Highlighter가 검색시 상당한 병목을 일으키는 것이 확인되어 FastVectorHighlighter로 수정하였습니다.
- Lucene 4.X에서는 새로운 Highlighter가 있다고 하는데 확인은 해보지 못 했네요. ^^
5. file system으로부터 indexing format을 만드는 util 클래스하나를 추가하였습니다.
- 사내 소스 개발 시스템을 만들려고하다보니 위와 같은 클래스가 하나 있으면 좋을 것 같아서..
간단하게 추가하였습니다.
- 아마 그대로는 사용하기는 좀 어려우실거고 약간의 커스터마이즈가 필요하실듯 합니다.
- https://github.com/need4spd/crescent/wiki/10.-Create-Json-Form-File
6. 강한구님께서 index 파일 관리페이지 초안 개발을 완료하셨습니다.
- 감사합니다. :)
7. JSP 페이지가 모두 JSTL 사용으로 변경되었습니다.