2010-07-14 4 views
2

색인에 3 개의 부울 필드가 포함 된 경우 :
"a = True, b = False, c = True "SOLR은 모든 항목을 반환해야하며 점수는 전체 쿼리가 일치하는 정도를 나타내야합니다.SOLR - 부울에 대해 퍼지 검색을 수행하는 방법

a=T, b=F, c=T, score=1.0 
a=T, b=T, c=T, score=0.6 
a=T, b=T, c=F, score=0.5 

이 가능합니까?

답변

3

가정하면 0 = = 1, 허위 사실, 아이디어의 몇 :

  • 빌드 클라이언트에서 해당 부스트 모든 조합, 예를 들면 :

    (a:1 AND b:0 AND c:1) OR (a:1 OR b:1 OR c:1)^0.6 OR... 
    
  • 사용 dist function query, 예 : dist(1, a,b,c, 1,0,1) (Solr 1.5 이상 필요) (사용하지 않았으므로 multiply을 -1로 사용)

+0

옵션 1 좋은 것입니다,하지만 불행히도 나는이 부울 필드 중 90 개 이상을 가지고 ... 옵션 2 정말 좋은 선택 것 같다 (나는 평방 루트를 취하지 않아 충분해야 sqedist를 사용하고, 왜냐하면 나는 1과 0만을 사용하기 때문입니다 ...) – Jann

관련 문제