我在数据中有一个名为“rating”的字段。该字段的值将是以下“良好”,“平均”或“坏”之一。我试图得到的是根据他们拥有的“评价”字段值对文档进行排序。由于字段值是一个字符串,我如何根据该值进行排序?基于弹性搜索中的字符串值排序
1
A
回答
4
据我所知,您希望给予“评级”字段中的值权重,然后按降序对它们进行排序。 您可以使用下面的脚本为:
"sort": {
"_script": {
"script": "factor.get(doc[\"rating\"].value)",
"type": "number",
"params": {
"factor": {
"good": 2,
"average": 1,
"bad": 0
}
},
"order": "desc"
}
}
这将使元素中的“等级”阵列的数值,然后按降序的文件进行排序。 更多关于这可以在here
1
找到您可以sort on a text field(我建议这样做,非分析领域),该文件将在字母顺序如果按升序排序和按字母倒序如果排序按降序排列。
实施例:
POST index/type/_search
{
"query":{
"match_all": {}
},
"sort":{"my_not_analyzed_field":{"order":"asc"} }
}
此代码将在每个文档中索引型类型的索引匹配,并且将它们按字母顺序排序。
注意:它理论上适用于分析字段,但如果内容已被标记,结果将会令人惊讶,因为结果不会根据字符串的开头进行排序,而是使用字符串的任何字(标记) ,采取更“有利”的。
相关问题
- 1. 弹性搜索字符串中的排序数字
- 2. 在线性时间基于搜索字符串排序字符串
- 3. 在弹性搜索中排序字符串
- 4. 如何在基于字符串字段的弹性搜索中进行更新
- 5. 排序弹性搜索
- 6. 搜索基于字符串输入排序数组
- 7. 在弹性搜索字符串数组中的多个值
- 8. 基于布尔字段值的提升弹性搜索
- 9. 弹性搜索如何按字母顺序按组值排序?
- 10. 弹性搜索排序和排名
- 11. 弹性搜索阵列元素的查询字符串搜索
- 12. 如何在Redis中搜索基于Json字符串的值?
- 13. 弹性搜索获得结果基于字段值
- 14. 弹性,如果字符串的一部分被用于搜索
- 15. 弹性搜索搜索字符串中使用C#空格和特殊字符#
- 16. 基于字符串别名的排序
- 17. NumberFormatException [对于输入字符串]弹性搜索
- 18. 基于一些字段的弹性搜索中的搜索数据
- 19. 搜索字符串值中的字符
- 20. 是弹性搜索中存储为字符串的数字吗?
- 21. 字符串搜索排除
- 22. 基于搜索字符串的列的数据透视值
- 23. 如何基于匹配属性对弹性搜索查询进行排序?
- 24. Symfony弹性搜索查询Bool排序
- 25. 基于标签的搜索使用弹性搜索
- 26. “[NSManagedObject]”基于匹配字符串排序
- 27. 基于距离的搜索和排序
- 28. 基于Python中的指定字符重新排序字符串
- 29. 基于Swift中最后一个字符的字符串排序
- 30. 搜索名称和弹性搜索中的特殊字符
你看了吗? - https://www.elastic.co/guide/en/elasticsearch/guide/master/multi-fields.html – swatkins