栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ElasticSearch按值排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ElasticSearch按值排序

使用手动排序进行Elasticsearch排序

elasticsearch
可以根据字段的特定值分配顺序的情况下,这是可能的。

我已经使用基于脚本的排序实现了您要查找的内容,该排序利用了无痛脚本。您可以参考我提到的链接,以了解更多有关以下查询的内容,这些内容足以满足您的需求。

还假设您在以下映射中具有

genre
and
movie
as关键字。

PUT sampleindex{  "mappings": {    "_doc": {      "properties": {        "genre": {          "type": "text",          "fields": { "raw": {    "type":  "keyword" }          }        },        "movie": {          "type": "text",          "fields": { "raw": {    "type":  "keyword" }          }        }      }    }  }}

您可以利用下面的查询来获得您想要的东西

GET sampleindex/_search{  "query": {    "match_all": {}  },  "sort": [{        "_script": { "type": "number", "script": {     "lang": "painless",     "inline": "if(params.scores.containsKey(doc['genre.raw'].value)) { return params.scores[doc['genre.raw'].value];} return 100000;",     "params": {         "scores": {  "comedy": 0,  "sci-fi": 1,  "drama": 2         }     } }, "order": "asc"        }    },    { "movie.raw": { "order": "asc"}    }]}

请注意,我已经为

genre
和同时包含了sort
movie
。基本上会发生排序,
genre
然后发布,然后
movie
针对每种类型进一步排序。

希望能帮助到你。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/372103.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号