2009-08-06 2 views
0

Lucene 색인에 3 개의 문서가 있습니다. 당신이 사업의 전략을 실행에 중요한 역할을하고 법정 계정, 준수의 책임이있을 것이다 MBA으로Lucene 검색 결과의 관련성

  1. 금융 관계, 세무, 재무 & 현금 관리

  2. 을 포함한 감사 MBA 과정에서 비즈니스 전략을 수행하는 데 필수적인 역할을 담당하며 법정 계정, 규정 준수, 은행 관계, 세금, 재무를 포함한 감사 등의 책임을 맡습니다. & 현금 관리

  3. 는 경영학 석사로서 당신은 사업의 전략을 실행에 중요한 역할을하고 법정 계정, 준수의 책임이있을 것이다 은행 관계, 세무, 재무 & 현금 관리

를 포함하여 감사 제 MBA 내가 루씬에서 실행되는 검색 쿼리는 다음과 같습니다 : 검색 입력은

:

+((description:mba^3.0) (description:m.b.a.) (description:\"master business administration\")) 

나는 내림차순으로 점수에 의해 결과를 정렬 한 후 순서 다음의 결과를 얻을 수

레코드 # 1은 검색 결과 상단에 표시해야합니다.이 검색 결과에 더 높은 부스트를 부여 했으므로 그 문서에는 정확한 단어 MBA가 포함되어 있습니까?

무엇이 여기에 있습니까?

감사합니다.

답변

3

일치하는 쿼리 문자열은 DoC# 3의 내용 중 약 10 %를 차지합니다. # 1과 # 2의 아주 작은 부분 일뿐입니다.

대체 쿼리 문자열의 길이가 다른 것을 반영하여 향상을 조정해야 할 수도 있습니다.

+0

ur 의견을 보내 주셔서 감사합니다 ... ... 최종 검색어가 어떻게 표시되어야하는지 알려주세요. –

+0

@Ed : 대체 쿼리의 원본 길이에 ​​대한 비율 인 고려해야 할 또 다른 요소가 있습니다. 그래서 "마스터 비즈니스 행정"은 "MBA"보다 10 배 길기 때문에 부스트를 10 분의 1 정도로 줄여야합니다. (설명 : \ "마스터 비즈니스 관리 \"^ 0.1)'. 그 여분의 길이에 의해 도입 된 편견을 제거합니다. ('^ 0.1'이 너무 많을 수 있습니다 - 길이 비율과 그것을 상쇄시키는 데 필요한 부스트 인자 사이의 올바른 관계를 결정하기 위해 실험 할 필요가 있습니다.) – RichieHindle

+0

톤 리치 감사합니다!이 논리는 나를 위해 일했습니다! –

0

Lucene의 StandardAnalyzer를 사용하는 경우 문서 # 1과 # 2는 실제로 동일하며 둘 다 용어 "mba"와 일치합니다. 3 위가 가장 높은 점수를 얻은 이유를 추측하기는 어렵습니다. 아마도 여러 용어와 일치하기 때문일 수 있습니다. 인덱스 시간에 이와 같은 동의어 처리를 고려할 수 있습니다.

필자는 필드 길이가 큰 요인이 될 것이라고 추측하지는 않지만, 아마도 IndexSearcher.Explain()을 사용하여 점수 계산을 얻는 것이 좋습니다.이 문제를 디버깅하는 가장 좋은 방법은 .