Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/windows-phone-7/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch Elasticsearch自定义分数函数_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Laravel 5 - Fatal编程技术网 elasticsearch Elasticsearch自定义分数函数,elasticsearch,laravel-5,elasticsearch,Laravel 5" /> elasticsearch Elasticsearch自定义分数函数,elasticsearch,laravel-5,elasticsearch,Laravel 5" />

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中实现类似的功能