public static function _searchField($fields, $type, $exclude, $search, $facets, &$musts, &$filters, &$scored, $numeric)
 {
     foreach ($fields as $field) {
         if (in_array($field, $exclude)) {
             continue;
         }
         if ($search) {
             $score = Config::score($type, $field);
             $notanalyzed = Config::option('not_analyzed');
             if ($score > 0) {
                 if (strpos($search, "~") > -1 || isset($notanalyzed[$field])) {
                     // TODO: fuzzy doesn't work with english analyzer
                     $scored[] = "{$field}^{$score}";
                 } else {
                     $scored[] = sprintf("{$field}.%s^{$score}", Config::apply_filters('string_language', 'english'));
                 }
             }
         }
         if (isset($numeric[$field]) && $numeric[$field]) {
             $ranges = Config::ranges($field);
             if (count($ranges) > 0) {
                 $transformed = array();
                 foreach ($ranges as $key => $range) {
                     $transformed[$key] = array();
                     if (isset($range['to'])) {
                         $transformed[$key]['lt'] = $range['to'];
                     }
                     if (isset($range['from'])) {
                         $transformed[$key]['gte'] = $range['from'];
                     }
                 }
                 self::_filterBySelectedFacets($field, $facets, 'range', $musts, $filters, $transformed);
             }
         } else {
             if ($type == 'custom') {
                 self::_filterBySelectedFacets($field, $facets, 'term', $musts, $filters);
             }
         }
     }
 }
 public static function _searchField($fields, $type, $exclude, $search, $facets, &$musts, &$filters, &$scored, $numeric)
 {
     foreach ($fields as $field) {
         if (in_array($field, $exclude)) {
             continue;
         }
         if ($search) {
             $score = Config::score($type, $field);
             $notanalyzed = Config::option('not_analyzed');
             if ($score > 0) {
                 if (strpos($search, "~") > -1 || isset($notanalyzed[$field])) {
                     // TODO: fuzzy doesn't work with english analyzer
                     $scored[] = "{$field}^{$score}";
                 } else {
                     $scored[] = "{$field}.english^{$score}";
                 }
             }
         }
         if (isset($numeric[$field]) && $numeric[$field]) {
             $ranges = Config::ranges($field);
             if (count($ranges) > 0) {
                 self::_filterBySelectedFacets($field, $facets, 'range', $musts, $filters, $ranges);
             }
         }
     }
 }
 public function testScoreOption()
 {
     update_option('score_type_name', 'bar');
     $this->assertEquals('bar', Config::score('type', 'name'));
 }