天天看點

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"/>
           
Solr-常見問題彙總(持續更新)

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

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

注意:有些參數為全局參數,需要對所有的核心進行配置,否則重新開機無法生效。下面是關于配置檔案更新方法:

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

繼續閱讀