本文主要記錄solr使用中遇到的一些常見問題及命令bash
關於solrConfig.xml的配置博客:https://blog.csdn.net/yuh_LLllccy/article/details/88552673app
solr查詢報錯:url
問題1:solr查詢三萬條以上的數據時報錯spa
"error": { "msg": "Expected mime type application/octet-stream but got application/xml. <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response>\n<lst name=\"error\"><str name=\"msg\">application/x-www-form-urlencoded content length (2750536 bytes) exceeds upload limit of 2048 KB</str><int name=\"code\">400</int></lst>\n</response>\n", "code": 400 } |
解決方案:修改solrConfig.xml formdataUploadLimitInKB參數.net
分析:solr爲了保證其快速的查詢效果,會默認限制你查詢數據的數據量,須要對solrConfig.xml進行手動配置。 formdataUploadLimitInKB - 表單經過POST請求發送的最大size,設置了一個用Kb表示的限制,用以限制HTTP POST請求中提交的表單數據的大小,這個大小能夠用來傳遞請求的參數但並不適合(寫入)URL中 <-- 修改 formdataUploadLimitInKB="9999999" 默認爲 2048 --> <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048000" formdataUploadLimitInKB="9999999" addHttpRequestToContext="false"/>
若你須要查詢布爾值的句子報錯能夠修改下圖參數。code
注意:有些參數爲全局參數,須要對全部的核心進行配置,不然重啓沒法生效。下面是關於配置文件更新方法:orm
1)建立solr實體配置文件本地目錄,tsolr會自動建立 # solrctl instancedir --generate /opt/tsolr 建立後會在tsolr目錄下生成一個conf文件夾,裏面是相關配置文件。 2)建立collection實例並配置文件上傳到zookeeper # solrctl instancedir --create tsolr /opt/tsolr 注意:以前若是有建立過,須要先刪除再建立,或者覆蓋更新 (# solrctl instancedir --list ) //查看全部配置文件 (# solrctl instancedir --update tsolr /opt/tsolr) //覆蓋更新 4)上傳到zookeeper以後,其餘節點就能夠從zookeeper下載配置文件。接着建立collection # solrctl collection --create tsolr -s 15 -r 2 -m 50 (紅色參數表示s表示設置Shard數爲15,-r表示設置的replica數爲2,-m表示最大shards數目,collection名稱是tsolr!)