Solr을 처음 사용했습니다. 다음 쿼리를 도와주세요 :Solr 요청 처리기 및 쿼리 구문 분석기
요청 처리기와 쿼리 구문 분석기의 차이점은 무엇입니까?
솔라에서 URL을 통해 쿼리를 보내면 처음에는 쿼리 파서를 사용하여 쿼리가 구문 분석됩니다. 그런 다음 요청 처리기는 구문 분석 된 쿼리를 가져와 요청 처리기 매개 변수에 따라 응답을 검색하고 표시합니다. 이 올바른지?Solr의 기본 쿼리 구문 분석기 및 기본 요청 처리기 란 무엇입니까?
매개 변수 deftype은 요청 처리기에 대한 파서와 qt를 지정하는 데 사용됩니까? 이 쿼리를 작성했습니다
select?q=features:power%20features:latency&deftype=dismax
작동하지만,select?q=features:power%20features:latency&qt=dismax
않습니다.
여기에 (당신이 있음을 변경하지 않은 경우, SearchHandler) 내 requestHandler
<requestHandler name="dismax" class="solr.SearchHandler">
<lst name="defaults">
<str name="defType">dismax< /str>
<str name="echoParams">explicit< /str>
<float name="tie">0.01< /float>
<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="pf">text^0.2 features^1.1 name^1.5 manu^1.4 manu_exact^1.9< /str>
<str name="bf">popularity^0.5 recip(price,1,1000,1000)^0.3< /str>
<str name="fl">id,name,price,score< /str>
<str name="mm">2<-1 5<-2 6<90%< /str>
<int name="ps">100< /int>
<str name="q.alt">*:*< /str>
<!-- example highlighter config, enable per-query with hl=true
-- >
< str name="hl.fl">text features name</str>
<!-- for this field, we want no fragmenting, just highlighting
-- >
< str name="f.name.hl.fragsize">0< /str>
<!-- instructs Solr to return the field itself if no query terms are
found
-- >
<str name="f.name.hl.alternateField">name< /str>
<str name="f.text.hl.fragmenter">regex< /str>
<!-- defined below
-->
< /lst>
</requestHandler>
그러나 왜 내가 선택하지? q = 기능 : 전력 % 20features : 대기 시간 및 Qt = dismax working.My Solr 구성 파일의 기본값으로 mm = 2 있습니다. 그리고 나머지 두 문서 및 대기 시간에 전원 6 문서가 있습니다. 4. 그들 중 누구도 힘과 대기 시간이 둘 다 없다. 따라서 deftype = dismax를 사용하면 올바른 6 개의 문서를 얻을 수 있습니다. 그러나 qt = dismax를 사용하면 결과가 전혀 표시되지 않습니다 .mm = 2 기본적으로 !!!!!! deftype과 qt의 차이점은 무엇입니까 ??? – Nakkala
질문이 하나 더 있습니다. 우리가 deftype = dismax 및 qt = dismax를 모두 줄 수 있다면 dismax는 파서 및 요청 처리기라는 것을 의미합니다. 맞습니까? Solr의 다른 파서가 무엇인지 알고, 핸들러도 요청할 수 있습니다. – Nakkala
solrconfig.xml에서를 게시하십시오. –