We are running our search on solr4.7 and I am evaluating whether to upgrade to solr5.3.1. I found MatchAllDocsQuery is much slower in solr5.3.1. Anyone know why?
We have a lot of queries without any query keyword, but we apply filters on the query. Load testing shows those queries are much slower in solr5.3.1 compare to 4.7. If we load test with queries with search keywords, we can see the queries are much faster in solr5.3.1 compare solr4.7. here is sample debug info: (in solr 4.7) <?xml version="1.0" encoding="UTF-8"?><response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">86</int> <lst name="params"> <str name="fl">id</str> <str name="start">0</str> <str name="q">*:*</str> <str name="debug">true</str> <str name="fq">+categoryIdsPath:1001</str> <str name="rows">2</str> </lst> </lst> <result name="response" numFound="572873" start="0"> <doc> <str name="id">36652255</str> </doc> <doc> <str name="id">36651884</str> </doc> </result> <lst name="debug"> <str name="rawquerystring">*:*</str> <str name="querystring">*:*</str> <str name="parsedquery">MatchAllDocsQuery(*:*)</str> <str name="parsedquery_toString">*:*</str> <lst name="explain"> <str name="36652255">1.0 = (MATCH) MatchAllDocsQuery, product of: 1.0 = queryNorm</str> <str name="36651884">1.0 = (MATCH) MatchAllDocsQuery, product of: 1.0 = queryNorm</str> </lst> <str name="QParser">LuceneQParser</str> <arr name="filter_queries"> <str>+categoryIdsPath:1001</str> </arr> <arr name="parsed_filter_queries"> <str>+categoryIdsPath:1001</str> </arr> <lst name="timing"> <double name="time">86.0</double> <lst name="prepare"> <double name="time">0.0</double> <lst name="query"> <double name="time">0.0</double> </lst> <lst name="facet"> <double name="time">0.0</double> </lst> <lst name="mlt"> <double name="time">0.0</double> </lst> <lst name="highlight"> <double name="time">0.0</double> </lst> <lst name="stats"> <double name="time">0.0</double> </lst> <lst name="debug"> <double name="time">0.0</double> </lst> </lst> <lst name="process"> <double name="time">86.0</double> <lst name="query"> <double name="time">85.0</double> </lst> <lst name="facet"> <double name="time">0.0</double> </lst> <lst name="mlt"> <double name="time">0.0</double> </lst> <lst name="highlight"> <double name="time">0.0</double> </lst> <lst name="stats"> <double name="time">0.0</double> </lst> <lst name="debug"> <double name="time">1.0</double> </lst> </lst> </lst> </lst></response> (in solr 5.3.1) <?xml version="1.0" encoding="UTF-8"?><response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">313</int> <lst name="params"> <str name="fl">id</str> <str name="start">0</str> <str name="q">*:*</str> <str name="debug">true</str> <str name="fq">+categoryIdsPath:1001</str> <str name="rows">2</str> </lst> </lst> <result name="response" numFound="565657" start="0"> <doc> <str name="id">36652255</str> </doc> <doc> <str name="id">36651884</str> </doc> </result> <lst name="debug"> <str name="rawquerystring">*:*</str> <str name="querystring">*:*</str> <str name="parsedquery">MatchAllDocsQuery(*:*)</str> <str name="parsedquery_toString">*:*</str> <lst name="explain"> <str name="36652255">1.0 = *:*, product of: 1.0 = boost 1.0 = queryNorm</str> <str name="36651884">1.0 = *:*, product of: 1.0 = boost 1.0 = queryNorm</str> </lst> <str name="QParser">LuceneQParser</str> <arr name="filter_queries"> <str>+categoryIdsPath:1001</str> </arr> <arr name="parsed_filter_queries"> <str>+categoryIdsPath:1001</str> </arr> <lst name="timing"> <double name="time">313.0</double> <lst name="prepare"> <double name="time">0.0</double> <lst name="query"> <double name="time">0.0</double> </lst> <lst name="facet"> <double name="time">0.0</double> </lst> <lst name="facet_module"> <double name="time">0.0</double> </lst> <lst name="mlt"> <double name="time">0.0</double> </lst> <lst name="highlight"> <double name="time">0.0</double> </lst> <lst name="stats"> <double name="time">0.0</double> </lst> <lst name="expand"> <double name="time">0.0</double> </lst> <lst name="debug"> <double name="time">0.0</double> </lst> </lst> <lst name="process"> <double name="time">311.0</double> <lst name="query"> <double name="time">311.0</double> </lst> <lst name="facet"> <double name="time">0.0</double> </lst> <lst name="facet_module"> <double name="time">0.0</double> </lst> <lst name="mlt"> <double name="time">0.0</double> </lst> <lst name="highlight"> <double name="time">0.0</double> </lst> <lst name="stats"> <double name="time">0.0</double> </lst> <lst name="expand"> <double name="time">0.0</double> </lst> <lst name="debug"> <double name="time">0.0</double> </lst> </lst> </lst> </lst></response> Thanks, Wei