以模糊模式对数据进行弹性搜索排序


elasticsearch sort data in fuzzy mode

我想在模糊模式的弹性搜索中以更相似的方式对数据进行排序

我们必须记录1.巴拿马2.penadol

当我用panadol或penadol搜索时,第一个结果是(penadol),但我想键入(panadol)第一个结果出现(panadol),第二个结果id(penadol)等。。

$params = [
'index' => 'my_index',
'type' => 'my_type',
'body' => [
    "track_scores"=> true,
    'sort'=>[
        'name'=> ['reverse'=>true],
        '_score'=> ['order'=>'desc'],
    ],
    'query' => [
        'fuzzy' => [
            'name' => [
                "value"=> 'panadol',
                "fuzziness" =>     2,
            ]
        ]
    ],

]

];

模糊性不是用来得分的。你可以在文档中找到更多关于它的信息。

如果你想根据搜索到的原始短语的相关性对结果进行排序,你可以根据你的需求(和你的数据)使用短语提示或完成提示。