我在我的Elasticsearch查询中使用了脚本查询和脚本过滤器,如下所示.是否可以保存查询脚本的计算值并将其用于排序,因此我不必再次计算相同的值?谢谢.
"sort" : {
"_script" : {
"script" : "sqrt(pow((doc[l].value - l_value),2)+pow((doc[a].value - a_value),2)+pow((doc[b].value - b_value),2))",
"type" : "number",
"params" : {
"l_value" : '10',
"a_value" : '20',
"b_value" : '20'
},
"order" : "asc"
}
},
"query" : {
"filtered" : {
"filter" : {
"script" : {
"script" : "sqrt(pow((doc[l].value - l_value),2)+pow((doc[a].value - a_value),2)+pow((doc[b].value - b_value),2)) < 20",
"params" : {
"l_value" : 10,
"a_value" : 20',
"b_value" : 20.'
}
}
},
"query": {
"match_all": {}
} …Run Code Online (Sandbox Code Playgroud) 我想用CI计算我的活动记录查询结果(使用postgreSQL).我正在使用count_all_results(),它适用于大多数查询,但不能在使用时distinct()或group_by()在连接后使用,因为count_all_results()忽略这些功能.
这是一个修复版本,它尚未在newsest(2.1.3)稳定版本中实现. https://github.com/EllisLab/CodeIgniter/commit/b05f506daba5dc954fc8bcae76b4a5f97a7433c1
当我尝试在当前版本中尝试实现此修复时,没有进行额外的过滤.行数保持不变.
有关如何在当前版本中实现此功能的任何提示,或其他计算过滤结果的方法distinct()或group_by()?