本文主要记录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!)