46
A
回答
48
FilterQuery只存儲文檔IDS。這使得應用過濾器包含/排除文檔的速度非常快。這方面的好例子是根據國家,產品類型,可用性等搜索過濾產品。
正常查詢可以執行完全相同的功能,但它有一個非常複雜的評分系統來確定「相關性」。我相信該文檔指出評分只在主查詢上完成,而不是在過濾器查詢上完成。這也應該增加查詢速度。
所以,我可以查詢:
description:Kohler AND productType:Toilet
或者,我可以查詢:
description:Kohler
with a FQ of productType:Toilet
結果將是相同的,但分數會有所不同。另外,如果在productType:Toilet
的整個一天中收到許多不同的查詢,FilterQuery將被緩存,從而使整個查詢時間更快。
3
fq適用於固定的值列表。如果在q =天窗+立體聲上搜索,並且fq = Mustang solr將對q參數進行文本分析,因爲q =天窗+立體聲和q =立體聲+天窗將返回相同的結果集。但是,當通過fq過濾搜索時,沒有對fq參數應用分析,並且假設所有返回的文檔都將與fq匹配,因此不需要修改匹配的文檔的分數。
相關問題
- 1. solr主要查詢與fq
- 2. Solr的面查詢過濾
- 3. 建議者Solr過濾器查詢
- 4. Solr過濾器查詢字符串
- 5. Apache Solr - 或過濾器查詢
- 6. Solr過濾器查詢和提升
- 7. More_like_this查詢與過濾器
- 8. 按查詢順序查詢過濾器 - solr
- 9. Solr查詢(q)或過濾器查詢(fq)
- 10. solr多查詢器查詢
- 11. SQL查詢 - 過濾主鍵
- 12. Solr過濾器查詢 - 字符串與國際
- 13. 更多類似於Solr查詢過濾
- 14. Solr的過濾查詢參數
- 15. Solr [版本3.6.1]過濾查詢問題
- 16. 翻譯SQL查詢的DbContext查詢與過濾子查詢
- 17. Case In-Sensitive Solr查詢分面和濾波器查詢
- 18. SPARQL查詢與過濾
- 19. 過濾查詢與外鍵
- 20. 查詢過濾
- 21. 查詢基於過濾器的查詢linq查詢
- 22. MySQL查詢與可選過濾器
- 23. 與關係的MySQL過濾器查詢
- 24. 查詢與SDK2.0:或過濾器一起
- 25. 過濾器的MySQL查詢
- 26. Django過濾器查詢
- 27. ASP.NET LDAP查詢過濾器
- 28. Mysql查詢過濾器
- 29. MySQL過濾器查詢?
- 30. 過濾器查詢CURDATE()
因此,如果例如在索引處對「productType」有術語提升,則如果在FilterQuery而不是主Query中設置productType,則可以對結果進行不同的排序,例如如果它位於Query中,那些帶有較高的productType分數將位於頂部,而如果它位於FilterQuery中,則具有較高productType分數的那些文檔可能位於底部,因爲由於分數位於FilterQuery中,所以未應用分數。我理解你嗎? – mrd3650 2012-01-05 08:15:55
正確。但是,如果您將productType作爲AND子句放在主Query中,則無論如何您都不會返回任何其他productType。所以這可能是有限的價值。但是,你所說的話意味着你明白它是如何工作的。 – rfeak 2012-01-05 15:49:29
是的,你有一個觀點,因爲我錯誤地假設productType上有一個FTS(因此可能會返回多個productType,但通常在* Type上沒有FTS)。謝謝。 – mrd3650 2012-01-06 09:02:08