我在數據中有一個名爲「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