作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将elasticsearch用作搜索引擎。我正在将记录从mysql复制到elasticsearch,当我查询elasticsearch时,我想使用Elastic中的数据计算一个值并使用它对结果进行排序
我的索引如下:
{
"busquedas" : {
"aliases" : { },
"mappings" : {
"coche" : {
"properties" : {
"coeff_e" : {
"type" : "double"
},
"coeff_r" : {
"type" : "double"
},
"desc" : {
"type" : "string"
}
}
}
},
"settings" : {
"index" : {
"creation_date" : "1460116924258",
"number_of_shards" : "5",
"number_of_replicas" : "1",
"uuid" : "N6jhy_ilQmSb6og16suZ4g",
"version" : {
"created" : "2030199"
}
}
},
"warmers" : { }
}
myCustomOrder = (coeff_e + coeff_r) * timestamp
{
"sort" : [
{ "myCustomOrder" : {"order" : "asc"}},
"_score"
],
"query" : {
"term" : { ... }
}
}
{
"from": 10,
"size": 3,
"filter": {
"script": {
"script": "doc['coeff_e'].value < 0.5"
}
}
}
最佳答案
与过滤相同。看看这个section of the documentation。一旦您已经了解脚本:-),它应该是不言自明的。
为了完整起见:
{
"query" : {
....
},
"sort" : {
"_script" : {
"type" : "number",
"script" : {
"inline": "doc['field_name'].value * factor",
"params" : {
"factor" : 1.1
}
},
"order" : "asc"
}
}
}
关于sorting - 如何在Elasticsearch中按计算值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500737/
我是一名优秀的程序员,十分优秀!