1
Lucene.net을 올바르게 호출하는지 알 수 없습니다. MoreLikeThis 함수를 호출하여 문서 자체를 비교하려고합니다. 점수가 1.0 점이되어야한다고 생각하는 점수가 0.3174651에 불과합니다. 나는 틀린 예상을 기대하고 있나?MoreLike Lucene.Net에서 동일한 문서를 서로 비교할 때 100 % 점수를 반환하지 않습니다
int docId = hits[i].Doc;
var query2 = mlt.Like(docId);
TopScoreDocCollector collector = TopScoreDocCollector.Create(100, true);
searcher.Search(query2, collector);
ScoreDoc[] hits2 = collector.TopDocs().ScoreDocs;
var result = new List<string>();
for (int k = 0; k < hits2.Length; k++)
{
docId = hits2[k].Doc;
float score = hits2[k].Score;
}
내가 뭔가 잘못하시기 바랍니다하고 있는가 :
이 내 코드?
나는 이것도 처음 접했기 때문에 나는 당신의 반응을 이해하고 있는지 확인하고 싶습니다. 숫자가 모호하지만 그의 점수가 "완벽한 점수"에 해당한다고 말할 수 있습니까? 그래서 예를 들어, 제게 알려지지 않은 다른 문서가 .3111111에 비교되어 돌아 왔을 때, 나는 그것들이 ("규모"에 기초하여) 매우 유사 할 것이라고 기대할 수 있습니까? – Kmanc
아니요, 완벽한 점수가 없습니다. 위의 최대 점수는 단순히 최상의 결과 점수입니다. lucene 점수에 포함 된 많은 요소는 임의로 커질 수 있으므로 최대 (완전) 점수가 명확하지 않을 수 있습니다. 동일한 점수를 갖는 두 개의 문서가 색인의 현재 상태와 관련하여 쿼리와 유사하게 대략 같다고 기대할 것입니다. 그들은 서로 공통점이 전혀 없습니다. – femtoRgon
글쎄요.하지만 두 개의 문서가 정확히 동일하다는 것을 안다면 두 점수 사이의 점수가 최대 점수라고 가정 할 수 있습니까? – Kmanc