solr

2011-12-14 6 views
0

으로 자동 제안 키워드로 검색하면 맞춤법 검사기에서 제안한 키워드를 사용하여 검색 결과를 얻을 수 있습니다. 예를 들어, whar을 검색 할 때 solr이 정확하게 wharf을 제안하지만 동일한 요청에서 wharf의 결과를 얻을 수 있습니까?solr

답변

0

요청 처리기에서 Solr spellchecker 설정을 정의하여 응답 자체에서 맞춤법 추천을 얻을 수 있습니다.

<requestHandler name="custom_handler" class="solr.SearchHandler"> 
    <lst name="defaults"> 
    <str name="echoParams">explicit</str> 

    <!-- Query settings --> 
    <str name="defType">edismax</str> 
    <str name="qf"> 
     text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 
    </str> 
    <str name="q.alt">*:*</str> 
    <str name="rows">10</str> 
    <str name="fl">*,score</str> 

    <!-- Spell checking defaults --> 
    <str name="spellcheck">on</str> 
    <str name="spellcheck.collate">true</str> 
    <str name="spellcheck.onlyMorePopular">false</str> 
    <str name="spellcheck.extendedResults">false</str> 
    <str name="spellcheck.count">3</str> 
    </lst> 

    <!-- append spellchecking to our list of components --> 
    <arr name="last-components"> 
    <str>spellcheck</str> 
    </arr> 
</requestHandler> 

요청 처리기는 qt 매개 변수가있는 쿼리와 함께 사용할 수 있습니다. qt=custom_handler

편집 -
착각 질문. 이것은 불가능합니다. 같은 전화에서 결과를 얻을 수없고 맞춤법 추천을 얻을 수 없습니다. 다시 질의해야합니다.

+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 이 구성의 어느 비트가 위에서 언급 한 응답 설정을 정의하는지 알려주십시오. 또한 spellcheck.count는 무엇을합니까? – Optimus

+0

하지만 제안 사항을 사용하여 쿼리 결과를 가져 오지 않습니다. 나는 그것이 가능하다고 생각하지 않는다. –

+0

@MauricioScheffer에 동의하는 이유는 동일한 쿼리에서 반환 된 제안을 사용하여 쿼리 결과를 가져올 수 없기 때문입니다. 그러나 결과를 검사하고 결과를 확인한 다음 필요할 경우 데이터 정렬 값을 사용하여 데이터 정렬 값을 새 쿼리 조건으로 사용하여 두 번째 쿼리를 발행하는 옵션이 될 수 있습니다. –