주어진 쿼리 "20"을 사용하여 달성하는 방법, "something 20"이라는 내용의 문서는 MAX_SCORE
과 같은 내용을 갖습니다. "20/12 무언가"는 규칙적인 것이 었습니까?Lucene 점수 조정
나는 유사성 알고리즘을 사용하여 검색을 단순화하지만이 동작은 지금 고통 스럽다. "더 짧은 문서는 더 큰 점수를 얻습니다."행동을 원한다면 lengthNorm factor를 "1"로 설정해야합니다. (이 "20"이 분명히 이기지 만, 그것이 완전히 들어 맞지 않기 때문에가 아니라, 짧기 때문에 ...).
내 사용자 정의 유사성 클래스는 여전히 사용자 정의 유사성이 할 수있는 순간
public class SimpleSimilarity extends DefaultSimilarity {
public SimpleSimilarity(){}
@Override
public float idf(long docFreq, long numDocs) { return 1f; }
@Override
public float tf(float freq) { return 1f; }
@Override
public float lengthNorm(FieldInvertState state) {
return 1f;
}
}
[this] (http://stackoverflow.com/questions/12626240/) 중복 어떻게 시행 할 것인가? 정확히 일치하는 것부터 가장 우선 순위가 높은 것까지)? – mindas
조금 다릅니다. 나는 문서의 질문 내용을 편집했다. 만약 토큰 화되지 않는다면, "20"과 "20/12"는 응답을 위해 "20" –