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')); }