当前位置: 首页 > news >正文

什么是网站功能网站的类型有哪几种

什么是网站功能,网站的类型有哪几种,python基础语法,虾子酱 wordpress在我之前的文章 “Elasticsearch:使用 function_score 及 script_score 定制搜索结果的分数” 我有讲到 Decay 函数在搜索中的使用。在那里,我有一个例子讲述在规定的时间里,分数不进行衰减。同一的函数也可以适用于地理位置的搜索。位置搜索…

在我之前的文章 “Elasticsearch:使用 function_score 及 script_score 定制搜索结果的分数” 我有讲到 Decay 函数在搜索中的使用。在那里,我有一个例子讲述在规定的时间里,分数不进行衰减。同一的函数也可以适用于地理位置的搜索。位置搜索的范围在规定范围里可以不进行衰减,超过这个范围就会按照衰减函数进行衰减。

想象一下,你需要根据用户位置的接近程度对结果进行排序。完成此任务的方法之一是使用定位和衰减函数。 衰减函数可用于根据比例调整文档的相关性分数。

在我们的示例中,我们将注册一些餐厅,并从用户的位置返回最近的餐厅。

让我们创建我们的地图,现在我们将使用 geo_point 类型,因为我们将使用纬度和经度。

PUT restaurants
{"mappings": {"properties": {"title": {"type": "text"},"location": {"type": "geo_point"}}}
}

现在让我们插入一些文档:

POST restaurants/_bulk
{"index":{}}
{"title":"McDonald's 1000","location":{"lat" : -23.525920 ,"lon" : -46.650211}}
{"index":{}}
{"title":"McDonald's Caneca","location":{"lat" : -23.553720  ,"lon" : -46.652940}}
{"index":{}}
{"title":"McDonald's Paulista","location":{"lat" : -23.565920 ,"lon" : -46.650210}}
{"index":{}}
{"title":"McDonald's - Shopping Pátio Higienópolis","location":{"lat" : -23.582460 ,"lon" : -46.688560}}

上面的命令将创建 4 个位置文档。假如我们想在位置 [-23.542719, -46.653965] 进行搜索。它们的相对位置关系如下:

在我们的查询中,我们将使用 Function score query | Elasticsearch Guide [8.6] | Elastic 和 Gaussian 函数,我们希望距离半径 500 米的人获得最大得分(origin - offset <= value <= origin + offset)和 200m (scale) 分数将开始下降。根据 Gaussian function的曲线分布,超过一定的范围衰减非常之快,以至于很快到 0。

 在第一个测试中,我们将使用原点 -23.561581、-46.659540。 此搜索的结果将是最接近的(请注意分数如何随着离原点越远而降低):

GET restaurants/_search?filter_path=**.hits
{"query": {"function_score": {"query": {"match": {"title": {"query": "McDonald's"}}},"functions": [{"gauss": {"location": {"origin": {"lat": -23.542719,"lon": -46.653965},"offset": "500m","scale": "200m","decay": "0.5"}},"weight": 10}],"boost_mode": "replace"}}
}

参数说明:

项目说明
origin用于计算距离的原点。 必须以数字字段的数字、日期字段的日期和地理字段的地理点的形式给出。 地理和数字字段必填。 对于日期字段,默认值为现在。 origin 支持日期数学(例如 now-1h)。
scale所有类型都需要。 定义距离原点的距离 + 偏移量,在该距离处计算的分数将等于衰减参数。 对于地理字段:可以定义为数字+单位(1km,12m,...)。 默认单位是米。 对于日期字段:可以定义为数字+单位(“1h”、“10d”、… )。 默认单位是毫秒。 对于数字字段:任何数字。
offset如果定义了偏移量,衰减函数将只计算距离大于定义的偏移量的文档的衰减函数。 默认值为 0。
decaydecay 参数定义了如何在按比例给定的距离对文档进行评分。 如果没有定义衰减,则距离 scale 的文档将得分为 0.5。

上述查询在离 origin 开始的 200m + 500m 开始进行衰减。它的衰减因子为 0.5。在这个以 200m + 500m 为圆半径的文档得分值将保持不变。

运行上面查询的结果为:

{"hits": {"hits": [{"_index": "restaurants","_id": "QxqBNYYB2XodIZsbBsV5","_score": 0.0010342363,"_source": {"title": "McDonald's Caneca","location": {"lat": -23.55372,"lon": -46.65294}}},{"_index": "restaurants","_id": "QhqBNYYB2XodIZsbBsV5","_score": 1.2783469e-14,"_source": {"title": "McDonald's 1000","location": {"lat": -23.52592,"lon": -46.650211}}},{"_index": "restaurants","_id": "RBqBNYYB2XodIZsbBsV5","_score": 3.5952473e-33,"_source": {"title": "McDonald's Paulista","location": {"lat": -23.56592,"lon": -46.65021}}},{"_index": "restaurants","_id": "RRqBNYYB2XodIZsbBsV5","_score": 0,"_source": {"title": "McDonald's - Shopping Pátio Higienópolis","location": {"lat": -23.58246,"lon": -46.68856}}}]}
}

正像我们看到的那样,搜索的结果是我们所期望的。从返回的分数来看在范围里的文档的分数不受影响,但是一旦超出范围,搜索到的文档的分数会被加权并得到衰减。

我们再次修改 origin 的位置到  -23.542719, -46.653965。它们的相对关系显示如下:

我们再次进行搜索:

GET restaurants/_search?filter_path=**.hits
{"query": {"function_score": {"query": {"match": {"title": {"query": "McDonald's"}}},"functions": [{"gauss": {"location": {"origin": {"lat": -23.542719,"lon": -46.653965},"offset": "500m","scale": "200m","decay": "0.5"}},"weight": 10}],"boost_mode": "replace"}}
}

 我们可以看到如下的结果:

{"hits": {"hits": [{"_index": "restaurants","_id": "QxqBNYYB2XodIZsbBsV5","_score": 0.0010342363,"_source": {"title": "McDonald's Caneca","location": {"lat": -23.55372,"lon": -46.65294}}},{"_index": "restaurants","_id": "QhqBNYYB2XodIZsbBsV5","_score": 1.2783469e-14,"_source": {"title": "McDonald's 1000","location": {"lat": -23.52592,"lon": -46.650211}}},{"_index": "restaurants","_id": "RBqBNYYB2XodIZsbBsV5","_score": 3.5952473e-33,"_source": {"title": "McDonald's Paulista","location": {"lat": -23.56592,"lon": -46.65021}}},{"_index": "restaurants","_id": "RRqBNYYB2XodIZsbBsV5","_score": 0,"_source": {"title": "McDonald's - Shopping Pátio Higienópolis","location": {"lat": -23.58246,"lon": -46.68856}}}]}
}

这是介绍衰减函数的方法之一,我希望它有用。

http://www.yayakq.cn/news/564741/

相关文章:

  • 罗湖公司网站建设如何做打码网站
  • 做翻译 英文网站网页设计与制作教程杨选辉
  • 公司网站首页设计构想wordpress更新以后进不去了
  • 嘉兴模板建站定制网站佛山建筑公司排名
  • 网站如何建设手机版网页微信文件夹储存在什么位置
  • 游戏ui设计师网站有哪些阿里云1M做网站
  • 该网站受海外服务器保护西安有哪些互联网公司
  • 企业手机网站cms系统腾讯推广联盟
  • wordpress 多个边栏网站建设优化石家庄
  • 做网站年入百万人力资源公司注册
  • 网站打开慢的解决方法seo的含义
  • 大连专业做网站西地那非片能延时多久有副作用吗
  • 手机网站建设的重点步骤郑州专业个人网站建设
  • 网站怎么盈利的个人网页生成器
  • 建筑案例的网站有哪些方面wordpress搜索用户
  • 网站的新闻栏与产品栏如何做金昌百度seo
  • 快照打开是网站网站不会做网站如何做seo
  • 部门规划书 网站建设手机网站相关
  • 东莞网站设地制作企业网站页面html
  • 上海中国建设银行招聘信息网站谷歌网站收录提交
  • 美丽说网站模板新葡京网址网站建设
  • 浏览器打开网站404关系建设的网站
  • 网站正在备案二十条优化
  • 做一家网站的成本商标查询网站
  • 甘肃企业模板建站信息自学网站开发软件开发
  • 成都知名网站建设公司句容网站建设开发
  • 自学python的网站小破站下载
  • 网站建设与维护试题含答案做下载网站用阿里云的什么产品
  • 做外贸如何浏览国外网站今天的新闻热点
  • 沈阳手机网站聚美优品网站建设的特点