multifieldqueryparser의 부적절함.
올블로그나 이올린같이 루씬을 이용하는 검색의 경우 검색결과의 랭킹이 제대로 되지 않는 이유는 아마도 (예상컨데)MultifieldQueryParser를 그대로 사용했기 때문이리라..
작년 이 블로그를 개설하면서 처음 짚었던것은 루씬의 랭킹은 서비스시에 사용하기에는 너무나 부적합하다고 언급한적이 있다.
단일 키워드는 그나마 좀 나은 편이나 멀티키워드를 검색하는 경우에는 결과를 예측하기 힘들다...
즉 지멋대로다.(루씬 내부랭킹 계산법으로는 맞는거겠지만..)

그래서 나는 내부의 scoring중 sum함수를 약간 편법으로 조작하여 사용하여 왔다.
그나마 어느정도 엉뚱한게 랭킹되지 않았었다.

이번에 2.1로 넘어오면서 약간의 혼란을 겪게 되었다.
분명 바뀐부분이 적을텐데도 약간의 상이한 결과를 가져오고 있었다.

그래서 이번에 MultifieldQueryParser를 대체하는 새로운 클래스를 몇개의 쿼리파서를 조합하여 짜집기 해봤다.
범용으로 쓸수 있을지는 모르나.
제대로 작동할지는 적용해 보면 알듯...
새로운 클래스 래퍼이므로 소스코드 변경은 아니니까 오히려 덜 부담이 간다만....
by typos | 2007/03/13 12:32 | 루씬 접목기 | 트랙백(1) | 덧글(1)
트랙백 주소 : http://lucene.egloos.com/tb/1526463
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from 한글이 꿈틀 at 2007/03/14 08:25

제목 : 루씬 2.1 점수 방식의 변화(?)
multifieldqueryparser의 부적절함. typos 님의 글에 꼬릿글로 답하기에 좀 긴 것 같아서 제 블로그에 답니다. 12. Added support for boosting the score of documents and fields via the new methods Document.setBoost(float) and Field.setBoost(float). Note: This changes the......more

Commented by typos at 2007/03/13 13:47
젠장, serialization이 지원이 안되군...

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >