•multiply: 相乘(默认),result_score = query_score * function_score •replace: 替换,result_score = function_score •sum: 相加,result_score = query_score + function_score •avg: 取两者的平均值,result_score = Avg(query_score, function_score) •max: 取两者之中的最大值,result_score ...
(2) replace:仅使用function score,忽略query score (3) sum:query score和function score相加 (3) avg:平均值 (4) max: query score和function score中最大的 (5) min: query score和function score中最小的 1. 2. 3. 4. 5. 6. 使用multi_match最初始的查询评分排序 GET /my-test2/_search { "s...
{ "function_score": { "query": { "multi_match": { "query": "popularity", "fields": [ "title", "content" ] } }, "field_value_factor": { "field": "votes", "modifier": "log1p" , "factor": 0.1 } } } } POST /blogs/_search { "query": { "function_score": { "query"...
4、采用function_score自定义评分 除了match匹配查询计算相关性得分,还引入了根据浏览量access_num计算得分。 GET /blog/_search { "query": { "function_score": { "query": { "match": { "title": "java入门" } }, "functions": [ { "script_score": { "script": { "params": { "access_num...
1、weightFactorFunction 在ES 搜索结果中_score 这个字段相信大家并不陌生,这是 ES 给出的评分,我们可以根据评分来排序,然后将原创类型的评分提高就可以实现想要的效果。 通过FunctionScoreQueryBuilder 来构建查询。 /*** 通过Weight的方式来实现权重 * * 业务需求...
使用Elasticsearch(ES)作为搜索引擎时我们常常需要根据文档的属性值自定义它们的排序,为用户提供高质量的搜索结果。 以下内容已在 ElasticSearch 7.1.1Linux集群中测试。 ES中的rest_api中提供了自定义评分选项,分别为function_score下的function_script和script_score。其中function_score可以用于简单的评分需求,但是当我们...
GET /_search { "query": { "function_score": { "query": { "match": { "title": "elasticsearch" } } <!-- 设置自定义打分函数,这里先省略,后面再展开讲解 --> "boost_mode": "multiply" } } } 最终搜索结果 score 的计算过程就是: ...
蜗牛Snail:Es搜索优化(三)- 基于function score.md 蜗牛Snail:Es搜索优化(四)- 有趣的NDCG算法 蜗牛Snail:Es搜索优化(五)-自动补齐/自动推荐/荐词 qwer:Es搜索优化(六)-beg/gina向量化后的检索 1. 为什么要了解 Elasticsearch 相关性分规则 ? 我们做搜索的目的,就是期望用户可以通过搜索找到他想要的内容。找到...
针对这种情况,更好的方式是给特定索引的全文检索查询定制打分规则,关联更多的字段信息去打分,这样就可以直接根据评分倒序排序获取前100条记录即可。 function_score 查询 是用来控制评分过程的终极武器,它允许为每个与主查询匹配的文档应用一个函数,以达到改变甚至完全替换原始查询评分 _score 的目的。