2016-09-06 2 views
0

우리는 SOLR 4.3.1을 실행 중이며 SOLR이 특정 문서의 점수를 얻는 방법을 제어하는 ​​것에 대한 질문이 있습니다.SOLR (4.3) - "poor"품질 (매우 짧은) 문서의 줄이기

경우에 따라 "품질이 좋지 않은"색인 된 문서가 있습니다.이 경우 설명 필드에는 3 ~ 4 단어 만있을 수 있습니다. 다른 문서는 훨씬 더 나은 설명을 가질 수 있습니다. 이 문제는 검색이 수행 될 때 발생하며 검색된 용어가 "양호한"(더 긴) 문서와 "부족한"(더 짧은) 문서에서 발견됩니다.

SOLR은 검색된 용어가 단지 3 또는 4 단어 중 하나 일 수 있으므로 더 짧은 짧은 문서의 일치 항목에 점수를 매기는 것처럼 보이므로 더 긴 설명이있는 문서보다 높은 비율을 나타냅니다. 1 단어 또는 2 단어 만 100 단어로 검색됩니다 (예 :).

정말 짧은 문서의 점수를 어떻게 든 부과하거나 줄일 수 있습니까? 나는 매우 짧은 문서가 괜찮을 수도 있지만, 일반적으로 우리의 경우에는 매우 짧은 문서가 일반적으로 "품질이 나쁘다"는 것을 알고 있습니다.

제안 사항?

edismax 검색을 사용하고 있습니다.

감사합니다,

답변

0

BM25 유사성 조정하는 문서 득점 길이 정상화의 영향을 당신을 수 있습니다. 기본적으로 관찰 한 바와 같이 짧은 필드 내용은 동일한 용어 일치 횟수로 더 긴 필드 내용보다 우수합니다.

중립화하거나 잠재적으로이 길이 정규화 과정을 되돌리려면 모든 길이의 필드 내용이 같은 수의 용어 일치로 간주됩니다.


두 개의 조정 매개 변수는 다음과 같습니다 (당신이 반복 용어가 점수에 큰/작은 영향을하려는 경우에 대한) 용어 - 주파수 포화 점을 제어

k1

b (당신이 원하는 사람). 일치 점수에 대한 콘텐츠 길이의 영향력을 제어합니다. http://opensourceconnections.com/blog/2015/10/16/bm25-the-next-generation-of-lucene-relevation/


이 작업을 얻으려면, 당신도 세계적으로, 당신의 SOLR schema.xml에 BM25Similarity를 ​​추가 할 필요가, 또는 정의에 중첩 : 당신이 깊은 다이빙을하려면

,이 BM25에 좋은 읽기입니다 설명 필드의 필드 유형 (이 필드를 모든 필드에 대해 원하지 않을 수 있으므로 권장 됨).

<similarity class="solr.BM25SimilarityFactory"> <str name="k1">1.2</str> <str name="b">0.75</str> </similarity> (기본값 표시)

당신은 당신이 효과적으로 두 개의 문서 항상 점수 것 같은 분야의 각 일치하는 동일한 단일 쿼리 용어를 의미 길이 정상화의 영향을 부정 할 b 아래 0.0에 걸릴 경우 이 필드가 득점을 위해 고려 된 유일한 요소 일 때 (필드 길이에 관계없이) 똑같이 적용됩니다.

변경 사항을 적용하려면 구성을 다시로드하고 문서의 색인을 다시 만들어야합니다.


그래서 다시 경우 게시하시기 바랍니다,이 가설 긴 문서를 보상 작업을해야 된대로 (? 어쩌면 -0.75) 부정적인 b 실험을 시도 할 수 있습니다,하지만 난 현재 구현에서이 문제를 확인하지 않은 당신은 당신이 필요로하는 방식으로 일하는 부정적인 b을 얻습니다.

+0

감사합니다. 피터! 나는 이것을 실험 할 것이다. 귀하의 철저한 답변을 부탁드립니다! – user3302110