2013-03-08 4 views
1

약 500,000 개의 문서에 대한 색인이 있으며 약 10 개의 문서에 "at the moon"('제목'필드)과 'nasa'('태그'필드)라는 제목이 있습니다. "at the moon nasa"에 대한 검색을 수행하면 검색 결과 목록에서이 문서가 상당히 멀리 떨어져 있습니다. 이는 제목 필드가 부스트되지 않기 때문에 발생하지만 태그 필드가 상당히 증가하기 때문입니다. 따라서 'nasa'라는 태그가있는 다른 문서는 제목 필드를 통해 전체 쿼리와 거의 일치하는 문서보다 우선합니다.Solr : "at the moon nasa"와 "at the moon"을 어구 쿼리를 통해 비교하는 가장 좋은 방법은 무엇입니까?

그러나 Solr은 알 수 없지만 "at the moon nasa"쿼리는 "at the moon"과 거의 일치합니다. 쿼리에서 "nasa"부분을 제거하면 맨 위에 문서가 나타납니다.

Solr에게 일종의 근사 구문 검색을 수행 할 수있는 방법이 있습니까?

// PHP-ish pseudocode 
$bq[]=title:"at the"^2 
$bq[]=title:"at the moon"^3 
$bq[]=title:"at the moon nasa"^4 
$bq[]=title:"the moon"^2 
$bq[]=title:"the moon nasa"^3 
$bq[]=title:"moon nasa"^4 

그것을 만들 것 모두이 메이크업 감각 것이며, : 그것은 내가 같은 단어 조합 검색 구문을 분할 것이 BQ 매개 변수를 통해 g 틱 검색의 일종을 구현하는 감각을 만들 것 일치하는 쿼리의 큰 부분에 따라 문서를 향상시킬 수 있습니까?

답변

3

다른 작업을 수행하기 전에 pf3 parameter과 함께 eDisMax를 사용해보십시오. 자동으로 3 그램을 처리합니다.

다양한 매개 변수의 효과를 시각화하는 데 도움이되는 최근 vifun project에서 흥미로울 수도 있습니다.

+0

일반 빌드에서 eDisMax를 사용할 수 있습니까? 지금 새 버전을 설치할 수 없습니다. – sbrattla

+0

예, ediamax가 defualt에 포함되었습니다. 자세한 내용은 http://wiki.apache.org/solr/ExtendedDisMax를 참조하십시오. –

+0

@Alexandre, 정말 유용한 vifun에 대한 링크를 이용해 주셔서 감사합니다! –