2010-03-11 6 views
13

색인 생성 및 검색 프레임 워크를 찾고있는 웹을 탐색 중이었고 Solr을 발견했습니다. 우리가 절대적으로 필요로하는 기능은 조회수가 포함 된 필드를 기반으로 결과를 높이는 것입니다.부스트 Solr 결과가 포함 된 필드를 기반으로

작은 예 : 내가 예를 들어 결합하려는

<movie> 
    <title>The Dark Knight</title> 
    <alternative_title>Batman Begins 2</alternative_title> 
    <year>2008</year> 
    <director>Christopher Nolan</director> 
    <plot>Batman, Gordon and Harvey Dent are forced to deal with the chaos unleashed by an anarchist mastermind known only as the Joker, as it drives each of them to their limits.</plot> 
</movie> 

제목, alternative_title 플롯이 후 너무 어려운 일이 아니다 하나 개의 검색 필드에 필드 :

이 같은 기록을 고려 Solr/Lucene 문서 및 자습서를 살펴보십시오. 그러나 제목에서 히트 한 영화는 alternative_title에서의 히트보다 점수가 높고 차례의 플롯은 플롯 필드에서 히트 수보다 높은 점수를 얻길 원합니다. XML에서 이러한 종류의 점수를 표시하는 방법이 있습니까? 아니면 사용자 정의 점수 알고리즘을 개발해야합니까?

내가 제공 한 예는 허구이며 실제 데이터에는 아마 100 개 이상의 필드가 포함됩니다. 사전에

감사합니다,

답변

6

내가 SOLR을 사용하지 않은,하지만 난 루씬을 사용했습니다를. 보고에서 :

http://wiki.apache.org/solr/SolrQuerySyntax

이 SOLR의 쿼리 구문이 루씬의의 상위 집합이라고 주장한다. 그리고 루씬, 당신은 당 분야 부스트을 수행 할 수있는 방법은 어떤 임의의 값 다음에 당근 연산자를 사용하는 것입니다

title:batman^10 alternative_title:batman

쿼리 시간에이 일의 장점은 사용자가 조정할 수 있다는 것입니다 즉, 당신이 가지고있는 관련성의 기준과 일치하도록 비행 중에 가치를 높이십시오. 따라서 10의 부스트 값이 너무 높으면 적절하게 조정할 수 있습니다.

11

이것은 Solr의 DismaxQueryParser가 설계된 것입니다. http://wiki.apache.org/solr/DisMaxRequestHandler

많은 매개 변수가 있지만 사용자 정의해야 할 주요 항목은 "qf"입니다.이 필드는 검색 할 필드와 각 필드에 대한 부스트를 지정하는 방법입니다.^10 alternative_title^2 국장^1 플롯 QF 매개 변수의 값으로^1

제목 : 당신이 제목을 지배하려는 경우, 당신은 뭔가를 지정할 수 있습니다. 여기에서 예제 구성과 실험을 사용자 정의하여이를 설정할 수 있습니다.