Sometimes , you may find that the SOLR Search and Browse cease to function and you may keep hitting "No Search Results". On further investigating the SOLR logs , you may find the below exceptions -
This is caused when the SOLR query string has more than 10,000 query string parameters. SOLR cannot handle that and fails with an internal server error. To resolve this issue , please follow the below steps -
1. In the administrative console click
Servers > Application Servers > server_name > Web Container settings > Web Container
2. Under Additional Properties select Custom Properties. And add a new
Property name: com.ibm.ws.webcontainer.maxParamPerRequest
Value : some number
The default value for this is 10000. You can set it a different number or you can set this property to -1 if you do not want to limit the number of parameters that can be included in a request
[5/26/15 11:27:08:586 BST]
00000027 SolrCore I org.apache.solr.core.SolrCore
execute [MC_10001_CatalogEntry_en_GB] webapp=/solr path=/select
params={q=shortDescription:tv} hits=905 status=0 QTime=1
[5/26/15 11:27:36:127 BST]
00000027 util E com.ibm.wsspi.webcontainer.util.RequestUtils parseQueryString
SRVE0325E: Exceeding maximum parameters allowed per request 10,000 ,current
10,000 , cannot add more.
[5/26/15 11:27:36:131 BST]
00000027 SolrDispatchF E org.apache.solr.common.SolrException log
java.lang.IllegalArgumentException
at
com.ibm.wsspi.webcontainer.util.RequestUtils.parseQueryString(RequestUtils.java:196)
at com.ibm.ws.webcontainer.servlet.RequestUtils.parsePostData(RequestUtils.java:356)
at
com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters(SRTServletRequest.java:2051)
at
com.ibm.ws.webcontainer.srt.SRTServletRequest.getParameterMap(SRTServletRequest.java:2568)
at
org.apache.solr.request.ServletSolrParams.<init>(ServletSolrParams.java:29)
at
org.apache.solr.servlet.StandardRequestParser.parseParamsAndFillStreams(SolrRequestParsers.java:394)
at org.apache.solr.servlet.SolrRequestParsers.parse(SolrRequestParsers.java:115)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:223)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:125)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:80)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:935)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:503)
at
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequestThis is caused when the SOLR query string has more than 10,000 query string parameters. SOLR cannot handle that and fails with an internal server error. To resolve this issue , please follow the below steps -
1. In the administrative console click
Servers > Application Servers > server_name > Web Container settings > Web Container
2. Under Additional Properties select Custom Properties. And add a new
Property name: com.ibm.ws.webcontainer.maxParamPerRequest
Value : some number
The default value for this is 10000. You can set it a different number or you can set this property to -1 if you do not want to limit the number of parameters that can be included in a request
No comments:
Post a Comment