2012-02-16 5 views
2

현재 색인의 여러 필드에 기반하여이 기능을 구현하려고합니다.Solr More Like This (MLT)가 결과를 반환하지 않습니다.

현재 구성은 다음과 같습니다. 건초 더미 | PySolr | Solr

이 부분에서는 PySolr을 사용하고 more_like_this 함수에 매개 변수를 전달합니다. 응답은 문서를 찾지만 관련 결과는 찾지 못합니다. 왜 그런가요? 여기

http://localhost:8080/solr/mlt?q=django_id:12123412&mlt.fl=industry_ids,loc_state,amount,sector_id&mlt.interestingTerms=details 

이 SOLR에서 내 반응이다 : 여기

내가 친 URL입니다

<response> 
<object type="{XXXXXX-0F1D-4F28-AAA2-XXXXXXXXXXX}" cotype="cs" id="cosymantecbfw" style="width: 0px; height: 0px; display: block;"/> 
<lst name="responseHeader"> 
<int name="status">0</int> 
<int name="QTime">24</int> 
</lst> 
<result name="match" numFound="1" start="0"> 
    <doc>...</doc> 
</result> 
<result name="response" numFound="0" start="0"/> 
<lst name="interestingTerms"/> 
</response> 

solrconfig.xml

<!-- More Like This --> 
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler"> 
</requestHandler> 

의 schema.xml

<field name="award_amount" type="sfloat" indexed="true" stored="true" multiValued="false" termVectors="true" /> 
<field name="estatus" type="slong" indexed="true" stored="true" multiValued="false" termVectors="true"/> 
<field name="loc_state" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/> 
<field name="orgtype_id" type="string" indexed="true" stored="true" multiValued="false" termVectors="true" /> 
<field name="sector_id" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/> 
<field name="industry_ids" type="string" indexed="true" stored="true" multiValued="true" termVectors="true" /> 
<field name="award_amount_exact" type="sfloat" indexed="true" stored="true" multiValued="false" termVectors="true" /> 
<field name="sector_id_exact" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/> 
<field name="amount_exact" type="sfloat" indexed="true" stored="true" multiValued="false" termVectors="true"/> 

도움이 필요하십니까?

답변

7

텍스트 필드에는 text 유형이 있어야하며 검색 가능이되도록 처리해야합니다. string 필드는 그대로 저장되고 쿼리되므로 은 검색 할 수 없으므로 MLT에는 쓸모가 없습니다. 당신이 이제까지 모두 textstring (예를 들어, 페이스 팅)과 같은 데이터를 저장할 경우

복사 필드를 참조하십시오.


나는 또한 검색어에 가장 가까운 숫자를 찾으려합니다. MLT는 그렇지 않습니다. 이를 위해 함수 쿼리을 작성하려고합니다. SolR : More Like This on number fields

+4

나는 내 mlt.mintf 및 mlt.mindf 설정이 높았 기 때문에 결과를받지 못한다는 것을 알았습니다. – Naqeeb

관련 문제