boost기법이라 하면 검색엔진에서 검색어, 문서, 필드별로 별도의 추가(혹은 감소)가중치를 적용하는 방법을 이야기하며, 이를 가지고 업무환경에 적합한 검색결과를 얻을 수 있도록 하는 것을 말한다.
예를들어 문서의 "제목"은 "본문"보다 가중치를 높게 주어 같은 단어가 제목에서 나온 경우를 우선적으로 보여줄 수 있도록 하는 경우를 말할 수 있을 것이다.
solr는 "색인", "검색"시에 각각의 boost방법들을 제공한다.
- 색인시
- 문서 boosting
boost = <float> ? default is 1.0 - 필드 boosting
boost = <float> ? default is 1.0 - 검색시
- 필드 boosting
- standard request handler의 경우
http://localhost:8983/solr/select/?q=title:superman^2+subject:superman
제목의 superman에 2.0의 가중치를 부여 - dismax request handler의 경우
http://localhost:8983/solr/select/?q=superman&qf=title^2+subject
제목의 superman에 2.0의 가중치를 부여 - 쿼리(검색어) boosting
http://localhost:8983/solr/select/?q=title:superman^2
superman에 2.0의 가중치를 부여 - Boost 함수
검색결과의 필드값에 대해 함수를 적용하여 boosting할 수 있도록 지원한다.
함수에 대한 자세한 설명을 solr 위키를 참조
1: <add>
2: <doc boost="2.5">
3: <field name="employeeId">05991</field>
4: <field name="office" boost="2.0">Bridgewater</field>
5: </doc>
6: </add>
개인적인 판단은 검색시 boosting하는 방법은 아무래도 실시간으로 연산을 하다보니 검색속도가 느려질 수 있을 것 같다.
대신에 색인시 하는 방법은 속도는 그에 비해 빠를 수 있겠으나, 가중치값이 틀려지게 되면 재색인을 해야 하는 불편함이 있을 것으로 생각된다.
(직접 해 보진 않았음)
'Search Engine > Solr' 카테고리의 다른 글
9/22 - Solr의 schema.xml 고찰 및 데이터 인덱싱 테스트 작업 (0) | 2012.07.10 |
---|---|
[SOLR]한글 웹문서 색인을 위한 Tokenizer, Filter세팅방법 (0) | 2012.07.10 |
Importing a MySQL database into Apache Solr (0) | 2012.07.10 |
Solr 관련 (0) | 2012.07.10 |
Solr 톰캣 연동 세팅 방법 (0) | 2012.07.10 |