Я хотел бы предоставить пользователю моей платформы возможность поиска одного или нескольких слов в нескольких полях.
Когда пользователь вводит несколько слов всеиз них должны быть частично сопоставлены .
Это сопоставления:
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
тоже