ES:返回两个单词的不完全匹配

时间:2018-09-25 13:48:43

标签: laravel elasticsearch elasticsearch-5

我想让我的平台用户能够在多个字段中搜索一个或多个单词。

当用户键入多个单词时,所有单词都必须部分匹配

这些是映射:

 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时 结果必须包含以下所有术语bayofwolf。 另外,搜索Bay of也应返回Bay of Wolf

0 个答案:

没有答案