In apachesolr_search.module we have:

        $fields = $solr->getFields();
        if ($qf && $fields) {
          foreach ($fields as $field_name => $field) {
            if (!empty($qf[$field_name])) {
              if ($field_name == 'body') {
                // Body is the only normed field.
                $qf[$field_name] *= 40.0;
              }
              $params['qf'][] = $field_name . '^'. $qf[$field_name];
            }
          }
        }

However, in solrconfig.xml, we have:

  <requestHandler name="partitioned" class="solr.SearchHandler" default="true">
    <lst name="defaults">
     <str name="defType">dismax</str>
     <str name="echoParams">explicit</str>
     <float name="tie">0.01</float>
     <str name="qf">
        body^1.0 title^5.0 name^3.0 taxonomy_names^2.0 tags_h1^5.0 tags_h2_h3^3.0 tags_h4_h5_h6^2.0 tags_inline^1.0
     </str>

There is a mismatch here, since if the settings form has beeen sumbitted the body bost will be ^40.0, vs. ^1.0, even though we portray these as being the same.

CommentFileSizeAuthor
#1 boost-mismatch-379518-1.patch748 bytespwolanin

Comments

pwolanin’s picture

Status: Active » Needs review
StatusFileSize
new748 bytes
pwolanin’s picture

Status: Needs review » Fixed

committed to 6.x

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.