elasticsearch,Node.js,Sorting,elasticsearch" /> elasticsearch,Node.js,Sorting,elasticsearch" />

Node.js 使用NodeJS客户端在ElasticSearch中进行排序

Node.js 使用NodeJS客户端在ElasticSearch中进行排序,node.js,sorting,elasticsearch,Node.js,Sorting,elasticsearch,我试图根据字段对查询结果进行排序,但由于某些原因,它从未正确排序。以下是查询的示例: starting request { "method": "POST", "path": "/index/library/_search", "query": { "from": 0, "size": 10, "sort": "[{\"title\":{\"order\":\"asc\"}}]", "q": "\"rules\""

我试图根据字段对查询结果进行排序,但由于某些原因,它从未正确排序。以下是查询的示例:

  starting request {
   "method": "POST",
   "path": "/index/library/_search",
   "query": {
      "from": 0,
      "size": 10,
      "sort": "[{\"title\":{\"order\":\"asc\"}}]",
      "q": "\"rules\""
     }
   }
这将生成此URL:

我尝试了许多不同的排序结构,但不管出于什么原因,它永远不会按字母顺序返回

排序部分的结构是否有误?还是我遗漏了什么

编辑:

    search(type, query, options) {
    let params = {
        index: this.indexName,
        type: type,
        from: options.from || 0,
        size: options.size || 500,
        sort: options.sort
    };


    if (JSON.parse(query).hasOwnProperty('query')) {
        params.body = query;
    } else {
        params.q = query;
    }

    return this.client.search(params);
}
查询:

Elasticsearch DEBUG: 2017-05-04T15:55:00Z
starting request {
  "method": "POST",
  "path": "/index/library/_search",
  "query": {
    "from": 0,
    "size": 10,
    "sort": "title : asc",
    "q": "rules"
  }
}


Elasticsearch TRACE: 2017-05-04T15:55:00Z
 -> POST http://localhost:9200/index/library/_search?
  from=0&size=10&sort=title%20%3A%20asc&q=rules
请尝试以下方法:

  starting request {
   "method": "POST",
   "path": "/index/library/_search",
   "query": {
      "from": 0,
      "size": 10,
      "sort": "title:asc",        <---- change this
      "q": "rules"
     }
   }
启动请求{
“方法”:“发布”,
“路径”:“/索引/库/_搜索”,
“查询”:{
“from”:0,
“尺寸”:10,

“sort”:“title:asc”,是的,我也尝试过。似乎也不起作用。你能显示你的相关代码以及你正在使用的Node.js模块吗?我在上面添加了代码。使用elasticsearch.js 12.1.3这是我一次做两件事得到的;)它是一个对象属性:“sort”:
${sort}:asc
其中sort是我要排序的字段的标题。