我想在 Laravel 中创建一个过滤器,它接受输入数据并返回按与过滤器的相似度排序的记录。记录应按照从最相似到最不相似的顺序排序,包括所有记录,即使它们不匹配任何字段。
过滤器应检查多个字段(例如,
first_name
、second_name
、birth_date
、national_id
等)。
结果应根据匹配字段的数量进行排名。
匹配较多字段的记录应首先出现,其次是匹配较少的记录,最后应出现没有匹配字段的记录。
看起来您正在寻找模糊搜索之类的东西。
使用 Typesense 检查 Laravel Scout。这可能会有所帮助。