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

河北智慧团建网站目前搜索引擎排名

河北智慧团建网站,目前搜索引擎排名,wordpress 无法安装主题,那个网站上找工程造价私活做这是 ES 7.10 相较于 ES 6.8 新增内容的最后一篇,主要涉及算分方法和同义词加载的部分。 自定义算分:script_score 2.0 Elasticsearch 7.0 引入了新一代的函数分数功能,称为 script_score 查询。这一新功能提供了一种更简单、更灵活的方式来…

这是 ES 7.10 相较于 ES 6.8 新增内容的最后一篇,主要涉及算分方法和同义词加载的部分。

自定义算分:script_score 2.0

Elasticsearch 7.0 引入了新一代的函数分数功能,称为 script_score 查询。这一新功能提供了一种更简单、更灵活的方式来为每条记录生成排名分数。script_score 查询由一组函数构成,包括算术函数和距离函数,用户可以根据需要混合和匹配这些函数,以构建任意的分数计算逻辑。这种模块化的结构使得使用更加简便,同时也为更多用户提供了这一重要功能的访问权限。通过 script_score,用户可以根据复杂的业务逻辑自定义评分,而不仅仅依赖于传统的 TF-IDF 或 BM25 算法。例如,可以根据文档的地理位置、时间戳、或其他自定义字段的值来调整评分,从而更精确地控制搜索结果的排序。

script_score 是 ES 对 function score 功能的一个迭代替换。

常用函数

基本函数

用于对字段值或评分进行基本的数学运算。
doc[<field>].value 获取文档中某个字段的值。

  "script": {"source": "doc['price'].value * 1.2"}
算术运算

支持加 (+)、减 (-)、乘 (*)、除 (/)、取模 (%) 等操作。

  "script": {"source": "doc['price'].value + (doc['discount'].value * 0.5)"}
Saturation 函数

saturation 函数用于对字段值进行饱和处理,限制字段值对评分的影响范围。

"script": {"source": "saturation(doc['<field_name>'].value, <pivot>)"
}
  • <field_name>: 需要处理的字段。
  • <pivot>: 饱和点(pivot),当字段值达到该值时,评分增益趋于饱和。
//在这个示例中,`likes` 字段的值在达到 `100` 后,对评分的影响会趋于饱和。
{"query": {"script_score": {"query": {"match_all": {}},"script": {"source": "saturation(doc['likes'].value, 100)"}}}
}
Sigmoid 函数

sigmoid 函数用于对字段值进行 S 形曲线变换,平滑地调整字段值对评分的影响。

"script": {"source": "sigmoid(doc['<field_name>'].value, <pivot>, <exponent>)"
}
  • <field_name> 需要处理的字段。
  • 中心点(pivot),S 形曲线的中点。
  • 指数,控制曲线的陡峭程度。
//在这个示例中,`likes` 字段的值在 `50` 附近对评分的影响最为显著,而随着值远离 `50`,影响会逐渐平滑。
{"query": {"script_score": {"query": {"match_all": {}},"script": {"source": "sigmoid(doc['likes'].value, 50, 0.5)"}}}
}
距离衰减函数

用于衰减计算地理位置的函数。

//相关函数
double decayGeoLinear(String originStr, String scaleStr, String offsetStr, double decay, GeoPoint docValue)
double decayGeoExp(String originStr, String scaleStr, String offsetStr, double decay, GeoPoint docValue)
double decayGeoGauss(String originStr, String scaleStr, String offsetStr, double decay, GeoPoint docValue)"script" : {"source" : "decayGeoExp(params.origin, params.scale, params.offset, params.decay, doc['location'].value)","params": {"origin": "40, -70.12","scale": "200km","offset": "0km","decay" : 0.2}
}
数值衰减函数

用于衰减计算数值的函数。

//相关函数
double decayNumericLinear(double origin, double scale, double offset, double decay, double docValue)
double decayNumericExp(double origin, double scale, double offset, double decay, double docValue)
double decayNumericGauss(double origin, double scale, double offset, double decay, double docValue)"script" : {"source" : "decayNumericLinear(params.origin, params.scale, params.offset, params.decay, doc['dval'].value)","params": {"origin": 20,"scale": 10,"decay" : 0.5,"offset" : 0}
}
日期衰减函数

用于衰减计算日期的函数。

//相关函数
double decayDateLinear(String originStr, String scaleStr, String offsetStr, double decay, JodaCompatibleZonedDateTime docValueDate)
double decayDateExp(String originStr, String scaleStr, String offsetStr, double decay, JodaCompatibleZonedDateTime docValueDate)
double decayDateGauss(String originStr, String scaleStr, String offsetStr, double decay, JodaCompatibleZonedDateTime docValueDate)"script" : {"source" : "decayDateGauss(params.origin, params.scale, params.offset, params.decay, doc['date'].value)","params": {"origin": "2008-01-01T01:00:00Z","scale": "1h","offset" : "0","decay" : 0.5}
}
随机函数

用于生成随机评分。
randomNotReproducible` 生成一个随机评分。

"script" : {"source" : "randomNotReproducible()"}

randomReproducible 使用种子值生成可重复的随机评分。

"script" : {"source" : "randomReproducible(Long.toString(doc['_seq_no'].value), 100)"}
字段值因子

用于根据字段值调整评分。
field_value_factor` 根据字段值调整评分。

"script" : {"source" : "Math.log10(doc['field'].value * params.factor)",params" : {"factor" : 5}}
其他实用函数
  • Math.log:计算对数,Math.log(doc['price'].value)
  • Math.sqrt:计算平方根,Math.sqrt(doc['popularity'].value)
  • Math.pow:计算幂次,Math.pow(doc['score'].value, 2)

同义词字段重加载

Elasticsearch 7.3 引入了同义词字段重加载功能,允许用户在更新同义词文件后,无需重新索引即可使更改生效。
这一功能极大地简化了同义词管理的流程,尤其是在需要频繁更新同义词的场景下。通过 _reload_search_analyzers API,用户可以重新加载指定索引的分词器,从而使新的同义词规则立即生效。
注意,虽然同义词词典能被热加载,但是已经生成的索引数据不会被修改。

测试代码

PUT /my_index
{"settings": {"index" : {"analysis" : {"analyzer" : {"my_synonyms" : {"tokenizer" : "whitespace","filter" : ["synonym"]}},"filter" : {"synonym" : {"type" : "synonym_graph","synonyms_path" : "analysis/synonym.txt","updateable" : true}}}}},"mappings": {"properties": {"text": {"type": "text","analyzer" : "standard","search_analyzer": "my_synonyms"}}}
}POST /my_index/_reload_search_analyzers

执行上述请求后,Elasticsearch 会重新加载 my_index 索引的分析器,使最新的同义词规则生效。

case insensitive 参数

case_insensitive 参数允许用户在执行精确匹配查询时忽略大小写。
这一功能特别适用于需要处理大小写不敏感数据的场景,例如用户名、标签或分类代码等。通过设置 case_insensitivetrue,用户可以在不修改数据的情况下,实现对大小写不敏感的查询,从而简化查询逻辑并提高搜索的准确性。

测试代码

//在这个示例中,`term` 查询会匹配 `user` 字段值为 `JohnDoe`、`johndoe` 或 `JOHNDOE` 的文档,而忽略大小写差异。
{"query": {"term": {"user": {"value": "JohnDoe","case_insensitive": true}}}
}

小结

Elasticsearch 作为一款强大的开源搜索和分析引擎,其版本的不断迭代带来了诸多显著的改进与优化。对比 Elasticsearch 6.8,Elasticsearch 7.10 在多个方面展现出了新的功能和特性,极大地提升了用户体验和系统性能。这系列文章简短的介绍了各个方面的新功能和优化,希望能给大家一定的帮助。

推荐阅读

  • 谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇
  • 谈谈 ES 6.8 到 7.10 的功能变迁(2)- 字段类型篇
  • 谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇
  • 谈谈 ES 6.8 到 7.10 的功能变迁(4)- 聚合功能篇
  • 谈谈 ES 6.8 到 7.10 的功能变迁(5)- 任务和集群管理
http://www.yayakq.cn/news/710820/

相关文章:

  • 网站文章上传时间做推广便宜的网站
  • 福州建设注册中心网站wordpress邮箱配置
  • 美术学院网站建设建设网站的功能定位
  • 仙游县建设局网站风中有朵雨做的云网站观看
  • 密山网站佛系汉化 wordpress
  • 沈阳建设厅官方网站asp.net mvc网站开发之美
  • 金环建设集团网站做网站服务商
  • 熊掌号网站改造绑定织梦网站网站维护什么情况
  • 中国装饰公司营销型网站建设开发网站制作
  • 网站标题在哪里设置如何做网站安全加固
  • 电子商务网站建设是学什么软件商城网站功能文档
  • 设计网站公司 露 联湖南岚鸿搜索热词排行榜
  • 深圳做网站比较好的公司宣传片拍摄构思
  • 登录网站显示系统维护怎么做制作网站公司首 荐乐云seo
  • 网站详情页设计免费制作企业小程序
  • 重生做二次元网站网页制作工具的选择与网站整体风格没有关系
  • 怎么做公司内部网站宣传推广方案范文
  • 用nat123做自己的网站邮箱网易企业邮箱
  • 域名代理商网站网站做百度推广能获取流量吗
  • 电子商务网站制作深圳装修公司排行榜
  • 数据库网站 建设外贸网站的作用
  • 网站建设培训总结营销咨询顾问
  • 爱建站小程序特点白酒公司网站的建设
  • 用vs2010做的网站注册代理公司流程及费用
  • 定州市住房保障和城乡建设局网站国家建设部投诉网站
  • 网站已改版专业网站建设团队
  • 湖南做网站 e磐石网络太原建站模板源码
  • 做一个能注册用户的网站Wordpress带商城的主题
  • 网站建设名词解析海珠五屏网站建设
  • 莱州网站建设方案视频网站程序模板