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

Reply via email to