elasticsearch - 查询时如何将参数传递给相似性脚本函数
问题描述
在配对匹配中,公式 2*no.of 配对/并集配对*100
例如:santhoshi 在弹性索引文档值中,santhosh 是查询中的搜索元素,然后 santhoshi 中的对数 = 8,匹配的对数 = 7,santhosh 中的对数 = 7
result = 2*7/(7_8)*100 = 93%......
我尝试了以下代码,其中提交的 .sumDocFreq 是“类型”:
非法参数异常,“原因”:“未定义变量 [字段]。”
代码:
{ "query": {
"function_score": {
"query": {
"match": {
"Name":"santhosh"
}
},
"min_score":100,
"functions": [
{
"script_score": {
"script": {
"params" : {
"inputpairlength": 6 },
"source": "double tf = doc.freq; double ttf = field.sumDocFreq; return (2* tf /(params.inputpairlength + ttf)) * 100;"
}
}
}
]
}
}
}
"settings": {
"similarity": {
"scripted_tfidf": {
"type": "scripted",
"script": {
"source": "double tf = doc.freq; double ttf = field.sumDocFreq; return tf / (params.inputpairlength+ttf) * 100;"
}
}
},
获取 param.input 未定义
我需要使用这个传递参数并计算分数
double tf = doc.freq;
double ttf = field.sumDocFreq;
return tf / (params.inputpairlength+ttf) * 100
解决方案
推荐阅读
- sass - 下拉菜单不适用于带有 sass 的 bootstrap4
- python - 从LSTM,Keras中每个时期的最后一层获取输出
- mysql - MySQL左连接具有最低的组值
- kotlin - 具有自定义计数标准的 RxJava 缓冲区/窗口
- go - 如何将变量 id 传递给 golang 中的 statement.Query()?
- r - R:根据公共 ID 将行聚集在一起
- windows - FFMpeg 像动画一样绘制文本
- xml - 如何在 XSLT 中进行部分转换
- java - 如何在Java中动态地为多个按钮应用一个可绘制的波纹?
- python - 有bulk_update django2.0吗?