2010-05-21 17 views
1

Dismax를 사용하고 특정 필드에 내 쿼리를 제한하고 "제목"필드의 관련성을 높이기 위해 Solr에서 요청 처리기를 만들었습니다.SolrJ를 사용할 때 요청 처리기에서이를 가리킬 수 있습니까?

브라우저에서 http 요청을 사용하여 Solr에 직접 연결하면이 모든 것이 정상적으로 작동합니다. 그러나 내 질문은 SolrJ 사용하여 Solr 액세스하는 경우 요청 처리기를 사용할 수 있는지 여부입니다?

코드를 변경하지 않고 요청 처리기에서 부스트 및 필터를 제어 할 수 있으면 좋지만 API에서 요청 처리기를 지정하는 방법을 알 수는 없습니다.

아이디어가 있으십니까?

답변

5

SolrQuery 클래스에는이를 수행 할 수있는 setRequestHandler 메서드가 있습니다. solrconfig.xml에 정의 된대로 요청 핸들러의 이름을 전달합니다 (아마도 'dismax').

+0

감사! 그거야. – Pinguthepenguin

+0

Solr 3.6에서 ** qt param **의'requestDispatcher' 처리는 기본적으로 false로 설정됩니다. [solr wiki] (http://wiki.apache.org/solr/SolrRequestHandler#Old_handleSelect.3Dtrue_Resolution_.28qt_param.29)를 참조하십시오. – cuh

+4

solr 4.x에서는 setRequestHandler입니다. – Philippe

관련 문제