多个字段的 ElasticSearch 排序顺序

标签 elasticsearch

指定 sort order in ElasticSearch 的最佳方式是什么?对于多个领域?查询字符串格式似乎根本不起作用:

http://elasticsearch_url/index/_search?sort=field1:asc&sort=field2:desc&size=100

有人想先按字段 1 排序,然后按字段 2 排序,但似乎只有一个字段排序正确。完整的符号效果更好,但第一个条目有时会出现错误的搜索顺序:

curl -s -XGET http://elasticsearch_url/index/_search -d '
{
    "sort": [
        { "field1": { "order": "desc" }},
        { "field2": { "order": "desc" }}
    ],
    "size": 100
}'

最佳答案

显然,第二种完整表示法效果更好。

还有一个问题是其中一个字段包含 url,它被 ElasticSearch 以奇怪的方式解析。偶正常string fields可能很难分类,indexing a url in ElasticSearch难度更大。

sort 关键字接受一个可以定位多个字段的数组。

curl -s -XGET http://elasticsearch_url/index/_search -d '
{
    "sort": [
        { "field1": { "order": "desc" }},
        { "field2": { "order": "desc" }}
    ],
    "size": 100
}'

关于多个字段的 ElasticSearch 排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29802042/

相关文章:

amazon-web-services - 弹性/ Elasticsearch : pods stuck in pending state with volumeClaimTemplate on AWS cluster

ruby - 使用ElasticSearch ruby​​ gem按名称获取索引

php - Elasticsearch 7.2使用映射和自定义分析器PHP创建索引

elasticsearch - 如何将 ElasticSearch 中的现有坐标转换为地理点

elasticsearch - 在 ElasticSearch 中获取组中的最新记录

elasticsearch - Elastic Search中带有评论的博客文章的数据模型

elasticsearch - Elasticsearch日期直方图聚合日期格式

ruby-on-rails - 未能与盆景建立联系并在heroku上进行 Elasticsearch 和搜索踢

search - 从Elasticsearch中的精确单词匹配开始?

c# - Elasticsearch.Net 7 & Nest 7 - 无效的批量更新请求