Эластичный поиск нечеткого соответствия с точными совпадениями, показывающими первыми
Я хочу использовать нечеткое сопоставление в запросе, но точные совпадения отображаются в верхней части результатов.
Я попробовал следующее.
$return = $this->_client->search(
array(
'index' => self::INDEX,
'type' => self::TYPE,
'body' => array(
'query' => array(
'bool' => array(
'must' => array(
'multi_match' => array(
'query' => $query,
'fields' => array('name', 'brand', 'description'),
'boost' => 10,
),
'fuzzy_like_this' => array(
'like_text' => $query,
'fields' => array('name', 'brand', 'description'),
'fuzziness' => 1,
),
),
),
),
'size' => '5000',
),
)
);
Это не работает из-за неправильно сформированной ошибки запроса.
Есть идеи?