2014-10-23 5 views
0

나는 Solr을 사용하여 이벤트 문서를 검색하고 있습니다. 각 이벤트에는 제목과 위치뿐만 아니라 몇 가지 다른 필드가 있습니다. 구성은 다음과 같습니다.Solr : 필드의 fieldNorm 음수 boost를 제거하는 방법이 있습니까?

t_name^4 t_speakers^3 t_location^2 t_openTo^1 t_sponsors^1 

그래서 일치하는 위치에 우선 순위가 부여됩니다. 대부분이 작동합니다. 그러나 긴 제목과 일치하는 결과는 정확한 위치의 결과가 일치 한 후에 종종 반환됩니다. 예를 들어 보스턴을 검색하면 첫 번째 결과는 "{Title : MBA Tour}, {Location : Boston}"이고 두 번째 결과는 "{Title : 지하 석탄 광산에서의 산업 재해 및 사망 사고에 대한 계약의 영향 Marric Buessing , 보스턴 대학교}, {Location : null} ". 보스턴에서 타이틀을 먼저 얻고 싶습니다.

MBA 투어가 처음으로 돌아온 이유는 fieldNorm 때문입니다. Solr은 음의 향상으로 많은 용어를 포함하는 필드에 제공됩니다. Location이 Boost보다 낮은 부스트를 가지고 있지만, Location = Boston의 정확한 일치는 Title = {super long title + Boston}보다 높은 점수로 끝납니다.

내 Solr 구성에서 fieldNorm 음수 부스트를 제거하거나 제거하는 방법이 있습니까? 아니면 Solr에 전달하는 querystring에서 사용할 수 있습니까? 또는 제목의 부스트를 변경하지 않고 먼저 제목 결과를 얻는 다른 방법이 있습니까? 부스트를 높이는 것은 어떤 결과에 대해서는 효과가있을 수 있지만 제목 길이에 대한 제한이 없으므로 Title에 대한 부스트가 fieldNorm을 부인하기에 충분할 수 있습니다.

+0

[가능한 다양한 길이의 필드에서 균등하게 부스트] 중복 가능 (http://stackoverflow.com/questions/9355320/boost-evenly-across-field-of-varying-length) – MatsLindh

답변

1

omitNorms="true"을 필드 정의에 적용하여 필드에 대한 기준 상승을 비활성화 할 수 있습니다. 또한 해당 필드에 대한 인덱스 시간 증가를 비활성화합니다. 그러나 실제로 해당 필드에 대한 인덱스 시간 증가를 사용하지 않으면 중요하지 않습니다. 이 작업을 마친 후 다시 색인을 생성하려고합니다.

omitNorms#9355320을 참조하십시오.