gpt4 book ai didi

perl - 如何在Elasticsearch中排序 “sum of 3 properties”?

转载 作者:行者123 更新时间:2023-12-02 22:57:49 26 4
gpt4 key购买 nike

我想添加这3个属性(例如+注释+分享),还想对3个属性的总和进行排序。

curl -XPUT 'http://XXX.X.XX.XXX:XXXXX/stores/' -d '{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 1
}
},
"mappings" : {
"store" : {
"_all":{ "enabled": true },
"properties":{
"url" : { "type" : "string", "analyzer" : "simple", "boost" : 3 },
"title" : { "type" : "string", "boost" : 2 },
"description" : { "type" : "string" },
"like":{"type":"long"},
"comment":{"type":"long"},
"share":{"type":"long"},
"time_added" : { "type" : "integer", "index" : "not_analyzed", "include_in_all": true }
}
}
} }'

在Elasticsearch中执行此操作的查询是什么。
我的elasticsearch版本是2.4.0

最佳答案

请尝试以下查询:

GET /index/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"_script": {
"script": "doc['share'].value + doc['like'].value+doc['comment'].value",
"type": "number",
"order": "desc"
}
}
]
}

查询将获取所有数据,并根据 (share+like+comment)的总值以降序对其进行排序。

如果要按升序 sort,则将 order值更改为 asc

要运行 script查询,您需要在 script.engine.groovy.inline.search: on文件上添加 config/elasticsearch.yml

关于perl - 如何在Elasticsearch中排序 “sum of 3 properties”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45727873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com