2016-10-06 4 views
0

Ich habe zwei Modelle in meiner Rails-Anwendung: Share and Rent.Der neueste Datensatz von Elasticsearch Rails basiert auf mehreren Indizes

Ich beginne ElasticSearch in meiner Anwendung zu verwenden und wollte einen Weg, um die Modelle zu mieten und die neuesten zu teilen.

Ich habe versucht, die folgenden:

@response = Elasticsearch::Model.search query:  { 
    "indices": { 
    "indices": [ 
     "shares", 
     "rents" 
    ], 
    "query": { 
     "multi_match": { 
     "query": "Apartament", 
     "fields": [ "tipe"] 
     } 
    }, 
    "no_match_query": { 
     "term": { 
     "": "" 
     } 
    }, 

    } 
} 

Aber ich weiß nicht, wie die jüngste auf create_at Feld basiert zu bringen.

Antwort

0

ich das Problem wie folgt gelöst:

@response = Elasticsearch::Model.search query: { 
     "indices": { 
     "indices": ["shares","rents"], 
     "query": {"match_all": {} 
     } 
    }, 
    size:10, 
    "sort": [ 
     {"created_at": {"order": "desc"}} 
    ] 
0

Elasticsearch können Sie sort nach einem Feld, bin ich mit Rails nicht vertraut, aber ich denke, man sollte dies versuchen:

@response = Elasticsearch::Model.search query:  { 
    "indices": { 
    "indices": [ 
     "shares", 
     "rents" 
    ], 
    "sort": { 
     "create_at": { 
      "order": "desc" 
     } 
    }, 
    "query": { 
     "multi_match": { 
     "query": "Apartament", 
     "fields": [ "tipe"] 
     } 
    } 
    } 
} 
Verwandte Themen