【发布时间】:2018-10-23 12:54:54
【问题描述】:
Laravel 的一个项目,更详细:用于Laravel Nova 搜索。
我在ES 中有一个模型规则,用于查找特定的Model 记录。它有以下规则
namespace App\Elastic\Rules;
use ScoutElastic\SearchRule;
class BusinessSearch extends SearchRule
/**
* @inheritdoc
*/
public function buildHighlightPayload()
{
return [
'fields' => [
'name' => [
'type' => 'plain'
]
]
];
}
/**
* @inheritdoc
*/
public function buildQueryPayload()
{
$query = $this->builder->query;
return [
'should' => [
[
'multi_match' => [
'query' => $query,
'fuzziness' => 5
]
],
[
'nested' => [
'path' => 'categories',
'query' => [
'bool' => [
'must' => [
'match' => [
'categories.name' => $query
]
]
]
]
]
]
]
];
}
我需要以某种方式向此功能添加以下内容:
当用户在引号中键入一个值时,它必须执行exact search,否则,fuzziness 就像现在一样。关于实施这些东西的任何想法?谢谢。
【问题讨论】:
标签: laravel elasticsearch search