참 제목도 힘들다 -_-;;;
기존에 모두 인덱싱하고 서비스하고 있던 index에 컬럼을 추가해야 되는 일이 생겼다.
ㅜㅜ 그러고 싶지 않았지만 서비스를 해야하기에 어쩔수 없이 일이 생겼다
예를들어 no, name, phone만 사용하던 index에 address라는 컬럼을 추가하게 된것이다.
추가 하는데 무슨일이 생길까? 라는 의문이 생기겠지만 나는 이 새로 추가된 컬럼에
값이 있는것들만 뽑고 싶었다.
Lucene에서 지원하는 ' *:* '라는 검색값을 넣으면 모든 컬럼을 반환해주는것을 내가
사용해야 했기 때문에 의문이 생겨서 테스트를 해보았다.
결과는 어떠할까....
값이
no name phone
1 kim 010
2 lee 011
3 park 016
이렇게 있다가 address라는 컬럼을 추가하면서 4 choi 019 pusan 을 넣었다.
no name phone address
1 kim 010
2 lee 011
3 park 016
4 choi 019 pusan
이라고 될것이다. 그럼 검색시에 필드를 address를 설정하고 *:* 라고 하면 어떻게 나올까
정말 나는 뛰어난 Lucene의 힘으로 4에 대한 값만 나왔으면했지만
luke로 테스트 해본결과 1,2,3,4 모두 값이 나왔다 ㅜㅜ
알아서 null이나 인식이 안되는 값을 넣어서 4번만 나오면 얼마나 좋을까....
다들 inexer나 검색서버 운영시에 참고하길 바란다.... 아흑~