1. painless是一种新支持的脚本语言,语言格式和java十分类似。可以参考以下文档:

    painless语言介绍

    painless api

    painless 实例

  2. 脚本参数

  3. score_mode计算functions中的分数形式,加减乘除,boost_mode计算最外层的分数形式,加减乘除。所以最后总分是tf/idf分数加上脚本得分。

put http://172.19.12.249:9200/indextest0193/player/_bulk?refresh
{"index":{"_id":1}}
{"content" : "测试语句1"}
{"index":{"_id":2}}
{"content" : "我的测试语句2"}
post http: //172.19.12.249: 9200/indextest0193/_search{
"query": {
"function_score": {
"query": {
"match": {
"content": "测"
}
},
"script_score": {
"script": {
"lang": "painless",
"source": "if(doc['content.keyword'].value.startsWith(params.keyword))return 1; return 0;",
"params": {
"keyword": "测"
}
}
},
"boost_mode": "sum"
}
}
}
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1.287682,
"hits": [
{
"_index": "indextest0193",
"_type": "player",
"_id": "1",
"_score": 1.287682,
"_source": {
"content": "测试语句1"
}
},
{
"_index": "indextest0193",
"_type": "player",
"_id": "2",
"_score": 0.2876821,
"_source": {
"content": "我的测试语句2"
}
}
]
}
}

elasticsearch painless脚本评分的更多相关文章

  1. Elasticsearch Painless script编程

    我们之前看见了在Elasticsearch里的ingest node里,我们可以通过以下processor的处理帮我们处理我们的一些数据.它们的功能是非常具体而明确的.那么在Elasticsearch ...

  2. 基于Elasticsearch的自定义评分算法扩展

    实现思路: 重写评分方法,调整计算文档得分的过程,然后根据function_score或script_sort进行排序检索.   实现步骤: 1.新建java项目TestProject,引入Elast ...

  3. elsearch搜索引擎 + painless脚本语言入门

    最近项目用到了elsearch,ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎. 自从版本6.0之后,其默认脚本语言变为 painless . ...

  4. elasticsearch开启脚本及使用

    开启script: Scripting settingsedit The script.disable_dynamic node setting has been replaced by fine-g ...

  5. ELASTICSEARCH 搜索的评分机制

    从我们在elasticsearch复合框输入搜索语句到结果显示,展现给我们的是一个按score得分从高到底排好序的结果集.下面就来学习下elasticsearch怎样计算得分. Lucene(或 El ...

  6. Elasticsearch Painless语言(实现搜索打分基础)

    With the release of Elasticsearch 5.x came Painless, Elasticsearch's answer to safe, secure, and per ...

  7. 删除elasticsearch索引脚本

    只保留七天的索引 shell版 #!/bin/bash #hexm@ #只保留一周es日志 logName=( -nginxaccesslog -nginxerrorlog -phperrorlog ...

  8. elasticsearch _script 脚本排序

    具体脚本语法请自行搜索“Groovy”语法. { "from" : 0, "size" : 5, "query" : { "boo ...

  9. elasticsearch备份脚本

    1.主要文件 [root@k8s elasticsearch]# tree . ├── backup_es.sh ├── indices_file.txt ├── recover_es.sh └── ...

随机推荐

  1. Java Web 之HttpServletRequest对象初识

    通过request对象获得请求行 获得客户端请求方式:String getMethod(); 获得请求的资源: String getRequestURL(); String getQueryStrin ...

  2. 前端必用正则(js)

    手机号 /^1((3[\d])|(4[5,6,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[1-3,5-8])|(9[1,8,9]))\d{8}$/ 大写字母 /^[A- ...

  3. python学习笔记(四)字符串及字符串操作

    字符串 字符串可以存任意类型的字符串,比如名字,一句话等等. 字符串还有很多内置方法,对字符串进行操作,常用的方法如下: name1='hello world' print(name.capitali ...

  4. Hadoop编程调用HDFS(JAVA)

    1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 4.0.0 Hadoop环境: Cloudera QuickStart 2.GITHUB地址 http ...

  5. window安装activemq

    原文: https://www.cnblogs.com/donsenChen/p/8656563.html ActiveMQ5.14.5下载地址 http://activemq.apache.org/ ...

  6. Win7、Win10、Linux局域网文件共享

    目录 1.WIN7系统局域网文件共享 2.WIN10系统局域网文件共享 3.Linux 局域网文件共享 WIN7系统局域网文件共享 步骤一: 打开网络和共享中心----更改高级共享设置 步骤二: 选择 ...

  7. Linux编程 多进程,多线程求解PI(圆周率)

    题目: 链接 多进程: #include <unistd.h> #include <stdio.h> #include <stdlib.h> #define n 1 ...

  8. soj#552 449E Jzzhu and Squares

    分析 https://www.cnblogs.com/Memory-of-winter/p/11209128.html 代码 #include<bits/stdc++.h> using n ...

  9. iOS开发环境搭建 及 编写1个hello world

    参照: https://www.cnblogs.com/ansersion/p/9084460.html 前置条件 : MAC一台 安装xcode,从appstore 下载 xcode,(6G多,考验 ...

  10. xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

    运行xcode命令报错: sh-3.2# xcodebuild xcode-select: error: tool 'xcodebuild' requires Xcode, but active de ...