我有一个名为chocolate_type的字段。有4种不同的巧克力类型(“黑”,“白”,“牛奶”,“甜”)。我希望我的文档根据巧克力类型按特定顺序排序。我不想按升序或降序对巧克力类型进行排序。相反,我希望它们分为白色第一,黑色第二,第三乳,第四甜。以下是如何对文档进行排序的示例:
id:5,
chocolate_type:“白色”
id:8,
chocolate_type:“白色”
id:15,
chocolate_type:“黑暗”
id:18,
chocolate_type:“黑暗”
id:24,
chocolate_type:“黑暗”
。 。
如何进行执行此操作的查询?
答案 0 :(得分:0)
我可以想到两个解决方案:
在您的文档中添加一些排序字段,这只是与您的巧克力类型相对应的数字索引,但对其进行排序将达到所需的顺序
使用脚本排序 - 这可以在不更改文档的情况下运行。优点是您可以在不重新索引的情况下更改排序顺序(第一种解决方案不是这种情况),但性能可能会更差。请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_script_based_sorting
答案 1 :(得分:0)
因此,在您的数据库中输入一个新字段订单,并根据您的值表示设置订单编号为Dark - 1,White - 2,Milk - 3,Sweet-4 然后按顺序执行排序。 如果它对您有帮助,请告诉我。