{"query": {"function_score": {"query": {"match": {"title":"java入门"} },"functions": [ {"script_score": {"script": {"params": {"access_num_ratio":2.5},"lang":"painless","source":"doc['access_num'].value * params.access_num_ratio"} } } ] } } } 查询结果如下 java入...
function score 就是 elasticsearch 提供的一种通过函数来对相关性评分进行二次计算的方法。这里的函数可以大致分为两种。 第一种:script_score 我们开发人员自己通过 plain painless 进行编写的。 第二种:elasticsearch 提供的。 weight : 加权。 random_score : 随机打分。 field_value_factor : 使用字段的数值参与...
BoolQueryBuilder boolQuery=QueryBuilders.boolQuery();//查询 userId=1 的所有文章boolQuery.must(QueryBuilders.termQuery("userId", 1));//type:1 为翻译,2 为转载,3 为原创//原创类型的文章(type=3)权重设置为100,其他类型的文章权重设置为1FunctionScoreQueryBuilder.FilterFunctionBuilder[] filterFunction...
没有function_score查询的话,我们也许就不能将全文搜索得到分值和近因进行结合了。我们将不得不根据_score或者date进行排序;无论采用哪一种都会抹去另一种的影响。function_score查询让我们能够将两者融合在一起:仍然通过全文相关度排序,但是给新近发布的文档,或者流行的文档,或者符合用户价格期望的文档额外的权重。你...
2.2 function_score查询(field_value_factor) 2.2.1 field_value_factor 使用function_score的field_value_factor改变_score,将old_score乘上like的值。 { "query": { "function_score": { "query": { "match": { "title": "ES" } }, "field_value_factor": { ...
即function_score,这个之前有比较详细的讲解,更具体的案例应用和参数讲解见官网:https://www.elastic.co/guide/en/elasticsearch/guide/master/function-score-query.html 在我的案例中使用的是在 policyTitle+textContent 中查询词语,并根据省份 + 分类得到一个比例与查询分数进行相乘的形式来计算 score,发送 query 请...
GET /_search { "query": { "function_score": { "query": { "match": { "title": "elasticsearch" } } <!-- 设置自定义打分函数,这里先省略,后面再展开讲解 --> "boost_mode": "multiply" } } } 最终搜索结果 score 的计算过程就是: ...
function_score可以使用多种内置函数来实现自定义得分计算。以下是常用的一些内置函数: 1. weight函数:通过为文档添加固定的得分来影响相关性得分。 2. field_value_factor函数:根据文档特定字段的值来调整得分。 3. script_score函数:使用自定义的脚本来计算得分。 4. random_score函数:通过随机生成的得分来影响相关...
5.1 必须匹配查询条件 must 关系数据库中的and 5.2 必须包含该查询的条件 must_not 关系数据库中 <> != 5.3 可以匹配该条件查询 should 关系数据库中的or 5.4 必须匹配条件但不打分会缓存 filter 6 Constant Score 查询 对搜索词频率无影响 7 Function Score 查询 用与查询后进行排序干扰 8 全文搜索 8.1 ...
ScriptPlugin脚本插件.会调用用户的脚本,其中主要是用在function_score查询中,使用自定义方法进行打分,我们熟知的painless脚本就是ScriptPlugin脚本 SearchPlugin查询插件,扩展Elasticsearch的查询功能,es 的search功能功能十分强大,有了SearchPlugin我们可以在search中增加更多查询方法,我们后续可能会在此基础上增加很多令人兴奋的...