我使用'http://es:9200/products/_search?q=sony'搜索多種類型的索引。這將返回許多不同類型的點擊。命中數組包含所有結果,但不以我想要的順序;我希望「電視」類型在其他類型之前始終顯示。是否有可能按類型排序?Elasticsearch按類型排序
2
A
回答
2
您可以通過sorting
在預定義字段_type
上實現此目的。下面的查詢按文檔類型的升序對結果進行排序。
POST <indexname>/_search
{
"sort": [
{
"_type": {
"order": "asc"
}
}
],
"query": {
<query goes here>
}
}
0
我通過添加一個數字字段_is_OF_TYPE
到索引的文檔並將其設置爲1
對於那些給定類型的文檔做到這一點。然後按照您想要的順序排序這些字段。
例如:
Document A:
{
_is_television: 1,
... some television props here ...
}
Document B:
{
_is_television: 1,
... another television props here ...
}
Document C:
{
_is_radio: 1,
... some radio props here ...
}
and so on...
在ElasricSearch查詢
然後:
POST radio,television,foo,bar,baz/_search
{
"sort": [
{"_is_television": {"unmapped_type" : "long"}}, // television goes first
{"_is_radio": {"unmapped_type" : "long"}}, // then radio
{"_is_another_type": {"unmapped_type" : "long"}} // ... and so on
]
}
這種解決方案的優點是速度。您只需對數字字段進行排序。不需要腳本排序。
相關問題
- 1. 排序Elasticsearch中的數組類型
- 2. Nest/ElasticSearch按_uid排序
- 3. 按名稱排序elasticsearch
- 4. elasticsearch按文檔ID排序
- 5. 按距離排序上ElasticSearch
- 6. 按類型排序在ractive
- 7. 使用elasticsearch按字母順序排序
- 8. 按類型排序矢量按類型搜索或派生類型
- 9. 排序在Elasticsearch
- 10. Elasticsearch排序
- 11. 「排序」 Elasticsearch
- 12. Elasticsearch NEST v.5.0.1按GeoDistance排序錯誤
- 13. ElasticSearch:按日期排序靠近
- 14. Elasticsearch:按計算日期值排序
- 15. Elasticsearch如何按列表長度排序
- 16. Elasticsearch:按空值排序字段最後
- 17. 如何按類型排序 - SQL
- 18. 按特定類型排序收集c#
- 19. 按數據類型排序python字典
- 20. Visual Studio C#按類型排序字段
- 21. 按值類型對數組排序
- 22. ListView:無法按類型'System.Object'排序
- 23. 按對象類型排序NSArray
- 24. 按Python中的類型排序
- 25. 按原型排序
- 26. LINQ排序:不能按類型排序「System.IComparable」
- 27. 按類型限制ElasticSearch聚合?
- 28. elasticsearch對分類值的排序聚合
- 29. 按類型= text_en按字母順序排序結果
- 30. elasticsearch排序不partial_fields
這將按字母順序按類型名稱進行排序,但作者希望它按給定順序排列,例如, _television_,_foo_,_bar_ – wajda