我是Solr的新手。請幫助我以下查詢:Solr請求處理程序和查詢解析器
請求處理程序和查詢解析器之間的區別是什麼?
我想那就是當一個查詢Solr中通過URL發送,首先查詢使用查詢分析器進行分析。然後請求處理程序接受解析的查詢並根據請求處理程序參數搜索並顯示響應。它是否正確?什麼是Solr中默認的查詢分析器和默認請求處理程序?
參數DEFTYPE用於指定解析器和Qt的請求處理程序吧? 我寫此查詢
select?q=features:power%20features:latency&deftype=dismax
其工作,但select?q=features:power%20features:latency&qt=dismax
沒有。
這裏是我的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的配置文件具有毫米= 2作爲其默認value.And我有6個文件在2個文件功率和等待時間的休息4.他們都沒有力量和延遲。 因此,deftype = dismax它給了我6個文檔是正確的。但是當我使用qt = dismax時,它不顯示任何result.mm = 2默認情況下!!!!!! deftype和qt有什麼區別? – Nakkala 2011-03-16 06:23:21
還有一個問題。當我們能夠同時給deftype = dismax和qt = dismax時,這意味着dismax是解析器和請求處理程序。是嗎? 我可以知道Solr中的其他解析器還有什麼請求處理程序。 – Nakkala 2011-03-16 06:27:41
請從solrconfig.xml發佈您的。 –
2011-03-16 11:24:49