解决方案中出现StackOverflow异常



我们对传递巨大数据有着相同的要求,比如http://bugsquash.blogspot.in/2010/12/customizing-solrnet.html,我们尝试了以下操作。

1) 将requestHeaderSize增加到Int32.MaxValue-stackoverflow异常
2) 使用PostSolrconnection-得到StackOverflow异常。
3) 已下载solrnet的源代码并添加为项目引用-Stackoverflow异常
然后,即使我们更改为GET,我们也会得到StackOverflow异常。当我们有500多个引用id时,就会出现错误。如果我们有更少的价值观,它是有效的。

这就是我们的称呼,

searchResults = solrPost.Query(new SolrMultipleCriteriaQuery(new[] 
                { 
                    query 
                 }), 
                      new SolrNet.Commands.Parameters.QueryOptions 
                      { 
                          Fields = new[] { "*", "score" }, 
                          Start = pageSize, 
                          Rows = 40, 
                          OrderBy = listSort 
                      }); 

有什么想法吗?

编辑:

我们尝试使用HttpRequest请求solr,并确定为maxBooleanClause问题,然后POST开始通过HttpRequest工作。但是使用SolrNet时,出现了错误,并且是在序列化查询对象时发生的。queryserializer.serialize(Query)

想知道为什么第2步不起作用,这正是解决长Get请求问题的确切方法,即切换到Post请求。

您初始化SolrNet以使用PostSolrConnection而不是默认的SolrConnection时,这段代码可能会出现问题。需要查看获得solrPost对象实例的代码。再看一眼,贴在这里。

不幸的是,SolrNet在序列化查询参数时由于stackoverflow错误而无法工作。已发布备用解决方案http://smartcoder.in/solrnetstackoverflow/

最新更新