2011-10-14 4 views
2

색인을 생성 할 때 특정 문서를 강조 표시하지만 검색된 문서 목록의 맨 위에 나타나지 않습니다. 나는 그 문서의 점수를보고, 어떻게 든, 검색된 문서의 점수는 항상 NaN입니다.색인 시간에 lucene에서 문서를 강조 표시하는 것과 검색 시간에 해당 점수를 표시하는 것과의 관계를 이해하십시오.

색인 시간에 문서를 부스트 한 것과 검색시 색인 점수와의 관계는 무엇입니까? 나는 이것이 서로 관련이있을 것이라고 생각했고, 나아가서는 NaN만이 아닌 스코어 보드에서 다양한 점수를 얻을 것이라고 생각했습니다. 당신이 이것에 약간의 빛을 비출 수 있다면 나는 감사 할 것입니다.

나는

http://lucene.apache.org/java/2_3_2/api/org/apache/lucene/search/Similarity.html을 읽고 누락되고 있는지 질수 그림. 입수해온 문서의 점수가 왜

if (myCondition) 
{ 
    myDocument.SetBoost(1.1f); 
} 
myIndexWriter.AddDocument(document); 
+1

쇼 일부 ** 진짜 ** 코드입니다. 당신은 무엇을 기대합니까?, 실제 결과는 무엇입니까? 등등. 아마도 무언가가 당신의 코드에 잘못되었습니다 –

답변

3

나는 당신이 당신의 샘플 코드를 검색 제공를 havent 이후거야 여기 추측 갈거야,하지만 일반적인 이유 : 여기

는 단순 증폭 코드 NaN은 Sort를 사용하기 때문입니다. 정렬 할 때 대개 문서의 점수는 사용되지 않으므로 기본적으로 사용하지 않도록 설정됩니다.

검색을 위해 정렬을 사용하고 점수를 원하면 IndexSearcher 클래스의 setDefaultFieldSortScoring 메소드를 확인하십시오. 이 방법을 사용하면 정렬을 사용하는 검색에서 문서 채점을 활성화 할 수 있습니다.

http://lucene.apache.org/java/2_9_4/api/all/org/apache/lucene/search/IndexSearcher.html#setDefaultFieldSortScoring(boolean, boolean)

+0

감사합니다! 일단 정렬 코드를 꺼내면 점수가 나타납니다. :) – Barka

+0

지금 점수를 얻지 만 검색된 문서의 순서는 변경되지 않았습니다 – Barka

+0

@ user277498 검색 코드 –

관련 문제