elasticsearch Elasticsearch自定义分数函数
假设我在下表中有一个示例:elasticsearch Elasticsearch自定义分数函数,elasticsearch,laravel-5,elasticsearch,Laravel 5,假设我在下表中有一个示例: products: id, name, latitude and longitude users: id, name, latitude, longitude interests: id, name user_interests: user_id, interest_id 只要使用模型观察者创建/编辑这些对象,就会将其插入/更新到elasticsearch中 现在,我想在弹性搜索中创建一个自定义脚本/评分函数,当用户搜索产品时,该函数将返回匹配的评分。评分将基于用户
products: id, name, latitude and longitude
users: id, name, latitude, longitude
interests: id, name
user_interests: user_id, interest_id
只要使用模型观察者创建/编辑这些对象,就会将其插入/更新到elasticsearch中
现在,我想在弹性搜索中创建一个自定义脚本/评分函数,当用户搜索产品时,该函数将返回匹配的评分。评分将基于用户位置和产品之间的距离、用户兴趣和产品名称匹配等
作为弹性搜索的新手,实现这一点的正确方法是什么?非常感谢任何教程、在线资源或示例
PS:我正在使用PostgreSQL作为数据库。我可以在那里创建一个名为get_match(product_id,user_id)的函数,该函数根据匹配条件返回一个数字(0-100),并执行如下操作:
//psuedo sql
select p.name, get_match(p.id, u.id) as match
from products p, users u
order by match desc
如果可能的话,我想在elasticsearch中实现类似的功能