在对匹配中,公式 2*匹配的对数/对的并集*100
例如:Santhoshi 在弹性索引文档值中,Santhosh 在查询中是 searchin 元素,然后 santhoshi 中的对数 = 8,匹配的对数否 = 7,桑索什中的配对数 = 7
result = 2*7/(7_8)*100 = 93%......
我尝试了以下代码,其中提交的.sumDocFreq是"类型":
illegal_argument_exception,"原因":"变量 [字段] 未定义。
法典:
{ "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;"
}
}
},
获取参数输入未定义
我需要传递参数并使用它计算分数
double tf = doc.freq;
double ttf = field.sumDocFreq;
return tf / (params.inputpairlength+ttf) * 100
这是访问字段统计信息的错误方式。访问字段统计信息 -
_index['FIELD'].docCount((
您可以在此处阅读有关它的更多信息 - 弹性指南