嵌套排序在弹性搜索中不起作用

我是Elastic Search的新手,无法理解为什么我的嵌套排序无法正常工作。 我的(修改后的)工作的json映射如下所示:

{
"mappings": {
    "docs": {
        "properties": {
            "prop1": {
                "type": "text"
            },"prop2": {
                "type": "text"
            },"someId": {
                "type": "long"
            },"someObject": {
                "type": "nested","properties": {
                    "id": {
                        "type": "long"
                    },"otherId": {
                        "type": "long"
                    },"timeCreated": {
                        "type": "date","format": "dateOptionalTime"
                    },"timeUpdated": {
                        "type": "date","format": "dateOptionalTime"
                    }
                }
            },}
    }
},"settings": {// some settings here}
}

在此,我想对timeCreated对象中可用的someObject属性添加排序。为此,我执行了以下操作:

SearchRequestBuilder searchRequestBuilder = client.prepareSearch(indexName);

searchRequestBuilder.addSort(SortBuilders.fieldSort("timeCreated").order(SortOrder.DESC).setnestedPath("someObject"));

运行结果时,将生成以下查询:

{
  "from": 0,"size": 10,"_source": {
    "includes": [],"excludes": []
  },"sort": [
    {
      "someObject.timeCreated": {
        "order": "desc","nested_path": "someObject"
      }
    }
  ]
}
我认为可以做到的

。但是当获得结果时,我发现结果未按nestedObject.timeCreated排序。我想知道我是否错过了什么?目前,我们正在生产中使用ES 5.6。请指教。 这是documentation用于嵌套排序。

shenwenxia715 回答:嵌套排序在弹性搜索中不起作用

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3155468.html

大家都在问