2015-08-25 96 views
0

我有这个疑问:ElasticSearch排序字段

GET /_search 
    { 
    "from" : 0, "size" : 30, 
    "query": { 
    "filtered": { 
     "query" : { 
     "query_string": { 
      "query": "((categoria.id:1752) AND (cidadeId:7300)) 
      OR ((categoria.id:1752) and (estadoId:13)) " 
     } 
     } 
    } 
    }, 
    "sort": [ 
     { "img": { "order": "desc" } } 
    ] 
} 

我想通过cidadeId = 7300,然后其他命令,但不知道如何排序

回答

0

我考虑过这样做一个小例子:

PUT test/test/1 
{ 
    "categoria.id":1752, 
    "cidadeId":7300 
} 

PUT test/test/2 
{ 
    "categoria.id":1752, 
    "estadoId":13 
} 

PUT test/test/3 
{ 
    "categoria.id":175, 
    "cidadeId":1 
    "estadoId":13 
} 

与你在你的答案被给予一些信息,我可以给你方兴未艾以下解决方案上cidadeId

排序
GET test/_search 
{ 
    "from": 0, 
    "size": 30, 
    "query": { 
    "filtered": { 
     "query": { 
     "query_string": { 
      "query": "((categoria.id:1752) AND (cidadeId:7300)) OR ((categoria.id:1752) and (estadoId:13))" 
     } 
     } 
    } 
    }, 
    "sort": [ 
    { 
     "cidadeId": { 
     "order": "asc" 
     } 
    } 
    ] 
} 

我希望这将有助于

+0

对不起,我想我是不太清楚。我首先将cidadeId等于1752的记录(作为示例),然后是其他cidadeId的记录。它会是这样的:ORDER BY字段(cidade_id ... –

+0

你还不清楚,你能提供一个具体的例子吗?把你的例子添加到问题! – eliasah