![](/img/trans.png)
[英]Benefits of applying field boosts at index time instead of query time in Solr?
[英]Reduce the query time in solr
我正在使用solr進行搜索。 我的索引大小每小時都在變大。 因此查詢時間也越來越長。 許多人建議分片。 這是最后的選擇。 我現在應該怎么辦?
在着手進行分片操作(這將絕對加快搜索速度)之前,您可能需要查看自己的模式,並查看是否可以在那里進行任何優化。
使用停用詞:停用詞是非常常見的詞,可能會不必要地增加索引大小。 嘗試在需要時使用停用詞。
如果可以,請避免使用“擴展”選項作為同義詞。 這些也極大地擴大了指數。
避免大范圍使用N克。 如果尺寸較大,這將生成太多組合。
僅在需要過濾器時使用查詢過濾器(fq參數)。 過濾器查詢比普通查詢更快,並且不應用任何評分。 它只是一個過濾器。 因此,如果您需要將AND查詢放在一起,請將過濾器查詢放在fq參數中。
不時運行“優化索引”以消除索引中已刪除的文檔,並減小索引的大小。
使用debugQuery = on並查看是否可以發現花費很長時間的任何東西。
如果文檔較大,請嘗試使用documentCache
如果重復過濾查詢,請嘗試使用filterCache
如果重復查詢,請嘗試使用queryResultCache。
如果以上都不滿足,那么您可以考慮分片/分布式搜索
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.