我想让我的平台用户能够在多个字段中搜索一个或多个单词。
当用户键入多个单词时,所有单词都必须部分匹配。
这些是映射:
Map::create($this->getModelType(), function (Blueprint $map) {
$map->integer('id');
$map->addField('text', 'title');
$map->addField('text', 'description');
}));
这是没有任何运气的执行搜索的多种方法之一:
$this->entity->search()->multiMatch([
'title^4',
'description'
]
,
$searchTerm.'*',
[
"fuzziness" => "2",
])->get()->hits();
对此有任何帮助吗?
[更新]
例如:当用户搜索Bay of Wolf
时
结果必须包含以下所有术语bay
,of
,wolf
。
另外,搜索Bay of
也应返回Bay of Wolf