2014-01-22 4 views
0

나는 solr을 처음 사용하므로 부스트 필드를 높이십시오.solr에서 부스팅을 적용하는 방법

나는이 같은 쿼리를 가지고

q=name:test* OR description:test* 

내가/이름에 대한 무게 나이 강화 적용 할은 (500)에 대한 설명은 50 예를 들어

과 : 는 "테스트"를 고려 할 수 있습니다 용어가 한 레코드의 이름 필드에 한 번 나타나고 다른 레코드의 설명 필드에 20 번 나타나면 부싱 계산이 아래와 같이 이루어져야합니다. 이름

1 X 500 = 500

설명 : 상단 와야 높은 부스팅 값과 기록을 초래할 20 X 50 = 1000

있다. 위의 계산에 따라 이름 필드에 일치 항목 1 개가있는 레코드 다음에 20 개의 일치 항목이있는 설명 필드가 있어야합니다.

아무도 해결책이없는 경우 제공하십시오.

미리 감사드립니다.

답변

0

당신은 boost attribute과 인덱스 시간 필드를 높일 수 있습니다, 또는 당신이 boost in the query을 적용 할 수 있습니다, 같은 q=name:test*^50 OR description:test* (및뿐만 아니라 여기에 몇 가지 more advanced features이 있습니다).

기본적으로 Lucene은 길이가 더 긴 필드보다 더 짧은 필드의 유효성을 효과적으로 평가하는 길이 정규화를 적용합니다. 그것이 당신이 재창조하려는 것 인 것처럼 들리 네요.

점수 계산이 제공 한만큼 간단해야하는 경우 자신의 Similarity class을 작성해야합니다.

+0

femtoRgon 주셔서 감사합니다. 귀하가 제안한대로 질문을 부추겠습니다. 다시 한번 감사합니다. –

관련 문제