Solr-常見問題彙總(持續更新)

本文主要記錄solr使用中遇到的一些常見問題及命令

關於solrConfig.xml的配置博客:https://blog.csdn.net/yuh_LLllccy/article/details/88552673

 

solr查詢報錯:

問題1:solr查詢三萬條以上的數據時報錯

"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參數

分析:solr爲了保證其快速的查詢效果,會默認限制你查詢數據的數據量,需要對solrConfig.xml進行手動配置。
formdataUploadLimitInKB - 表單通過POST請求發送的最大size,設置了一個用Kb表示的限制,用以限制HTTP POST請求中提交的表單數據的大小,這個大小可以用來傳遞請求的參數但並不適合(寫入)URL中

<-- 修改 formdataUploadLimitInKB="9999999" 默認爲 2048 -->
<requestParsers enableRemoteStreaming="true"
                    multipartUploadLimitInKB="2048000"
                    formdataUploadLimitInKB="9999999"
                    addHttpRequestToContext="false"/>

若你需要查詢布爾值的句子報錯可以修改下圖參數。

注意:有些參數爲全局參數,需要對所有的核心進行配置,否則重啓無法生效。下面是關於配置文件更新方法:

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!)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章