1

Win2008Server上のTomcat7でSolrを実行します。

いくつかの変数をループし、範囲クエリのセットを作成して、500を超える句を含むクエリを作成しています。

List<ISolrQuery> queryList = new List<ISolrQuery>();

//THis is for var 1 , I have 6 sets of vars like this...
for (int n = 0; n < N; n++)
                {
                    queryList.Add(new SolrQueryByRange<double>("VAR1_" + n, val1[n] * lowerbound, val1[n] * upperBound));
                }

//...var 2
for (int n = 0; n < N; n++)
                {
                    queryList.Add(new SolrQueryByRange<double>("VAR2_" + n, val2[n] * lowerbound, val2[n] * upperBound));
                }

//...var 3... and so on...

var results = solr.Query(new SolrMultipleCriteriaQuery(queryList.ToArray<ISolrQuery>(),"OR"), new QueryOptions
            {
                Rows = 100,
                Fields = new[] { "FileName, ID,score" },
                Facet = new FacetParameters
                {
                    Queries = new[] 
                    { 
                        new SolrFacetFieldQuery("Extension"), 
                        new SolrFacetFieldQuery("FileName"), 
                    }
                }
            });

solrから400の悪いリクエストが返ってきました。1つの変数だけを実行すると、クエリは正常に機能します。これはsolrでのブールクエリの制限だと思います。maxBoolClauseCount(1024から)を9999に設定しましたが、エラーは解決しません。

何か案は?

4

1 に答える 1

1

突堤のデフォルトのGETパラメータサイズ制限に達しているためでしょうか?

フルヘッド例外を返すSolr検索クエリのこの回答を参照してください。

于 2012-06-30T18:08:35.357 に答える