我目前在Solr中有超過2500萬個文檔,並且音量將逐漸增加。我需要在如此大尺寸的Solr索引中搜索記錄。當起始值較低時,查詢響應時間較低,例如0。但是隨着開始增加,例如100000,在Solr中搜索也花費時間。即使在Solr中的大數據集上使用高起始數字,我如何能更快地進行搜索?行數保持不變只有開始不斷增加。我不希望響應時間增加,因爲開始持續增加,而是希望start=100000
返回的結果應該與start=0
相同,假設是rows=1000
,因爲這是性能問題。任何幫助,將不勝感激。Solr搜索查詢時間隨着開始持續增加而增加
回答
您面臨的問題叫Deep Paging
。 Solr跟蹤器上的solr.pl和an incomplete issue上有a good article about it。
的文章中提到的解決方案將要求您進行排序的結果,如果這對你來說是不可行的解決方案將無法工作。這個想法是通過一個穩定的屬性進行排序,在price
的文章中,然後使用價格範圍進行過濾,如fq=price:[9000+TO+10000]
。
如果你把那個fq
用合適的start
- 像start=100030
- 你會得到更好的性能,Solr的不會收不匹配fq
的文件。
但你將需要至少一個查詢提前獲取合適的元數據,比如多少文檔已被發現的。
感謝您的回覆。我懷疑在應用程序中使用過濾器查詢,因爲我只做文本索引,而查詢更多是'AND'或'OR'而不是範圍查詢。 Solr的跟蹤器解決方案是我實際上正在尋找的東西,但它不完整,沒有看到與此相關的任何良好工作。 – user850234
無論你的查詢是什麼樣子。問題是你是否需要按相關性排序或不使用fq技術。 – cheffe
我不需要使用fq-technique。不過,我接受你的答案,因爲這可能對其他人有幫助。 – user850234
使用Solr 4.7中的新功能的發佈已經出臺Cursors
。這完全是爲了解決深度尋呼問題。如果你仍然有問題,你可以升級到Solr 4.7,這對你來說是最好的選擇。
一些關於深分頁使用Solr
- http://java.dzone.com/articles/solr-47-%E2%80%93-efficient-deep
- http://searchhub.org/2013/12/12/coming-soon-to-solr-efficient-cursor-based-iteration-of-large-result-sets/#referrer=solr.pl
- https://cwiki.apache.org/confluence/display/solr/Pagination+of+Results(以下主題
Performance Problems with "Deep Paging"
)
- 1. 增加檢索到的記錄數指數增加linq查詢持續時間
- 2. 我的XMLHttpRequest持續時間隨着每個請求而增加。該怎麼辦?
- 3. 線性加速度值隨着時間而增加
- 4. 如何增加持續時間?
- 5. 增加持續時間爲Makefile文件
- 6. 使div寬度隨着內容的增加而增加
- 7. 隨着時間的推移而增加的2D軌道
- 8. 按開始按鈕時遊戲得分隨時間增加
- 9. 隨着時間的推移,響應時間隨着時間的推移而增加(惡化)
- 10. Solr索引增加速度?
- 11. Solr查詢時間在機器重新啓動後增加
- 12. 機堆持續增加
- 13. Bing搜索API結果隨着web.offset(skip)值的增加而減少
- 14. 爲什麼以下連接會顯着增加查詢時間?
- 15. 查詢時間突然增加
- 16. 如何增加查詢時間?
- 17. 爲什麼緩衝速度隨着緩衝區大小的增加而增加?
- 18. NodeJS和ExpressJS應用內存隨着負載的增加而不斷增加
- 19. 如何隨着內容大小的增加而動態增加UICollectionView高度?
- 20. 內存使用量隨着Ruby 2.1與Ruby 2.0或1.9的增加而增加
- 21. 如何使可能性隨着時間的推移隨着時間的推移而增加
- 22. 添加索引增加查詢執行
- 23. PHP隨着記錄數量的增加動態增加#行
- 24. GoogleBot和MSNBot的抓取頻率是否隨着響應時間的增加而增加?
- 25. 隨着時間的推移CPU使用率增加
- 26. 隨着時間的推移增加內存使用量
- 27. PostGreSQL負載隨着時間增加,爲什麼?
- 28. 隨着時間戳增加的SQL插入順序列表
- 29. 隨着時間的推移增加負載測試
- 30. Cocos2D BezierBy隨着時間的推移不斷增加的速度
如果想在這一段時間,引用你能給些細節,爲什麼你想深入到結果?我認識的大多數人不讀取結果的第1000條,他們開始通過更好的搜索。 – cheffe