Elasticsearch: Sort results by index order as well as @timestamp (#29761)
* Elasticsearch - sort results by index order as well as timestamp. * Fix test.
This commit is contained in:
@@ -125,7 +125,14 @@ export class ElasticQueryBuilder {
|
|||||||
documentQuery(query: any, size: number) {
|
documentQuery(query: any, size: number) {
|
||||||
query.size = size;
|
query.size = size;
|
||||||
query.sort = {};
|
query.sort = {};
|
||||||
query.sort[this.timeField] = { order: 'desc', unmapped_type: 'boolean' };
|
query.sort = [
|
||||||
|
{
|
||||||
|
[this.timeField]: { order: 'desc', unmapped_type: 'boolean' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
_doc: { order: 'desc' },
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
// fields field not supported on ES 5.x
|
// fields field not supported on ES 5.x
|
||||||
if (this.esVersion < 5) {
|
if (this.esVersion < 5) {
|
||||||
|
|||||||
@@ -224,12 +224,7 @@ describe('ElasticQueryBuilder', () => {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sort: {
|
sort: [{ '@timestamp': { order: 'desc', unmapped_type: 'boolean' } }, { _doc: { order: 'desc' } }],
|
||||||
'@timestamp': {
|
|
||||||
order: 'desc',
|
|
||||||
unmapped_type: 'boolean',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
script_fields: {},
|
script_fields: {},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -552,7 +547,10 @@ describe('ElasticQueryBuilder', () => {
|
|||||||
};
|
};
|
||||||
expect(query.query).toEqual(expectedQuery);
|
expect(query.query).toEqual(expectedQuery);
|
||||||
|
|
||||||
expect(query.sort).toEqual({ '@timestamp': { order: 'desc', unmapped_type: 'boolean' } });
|
expect(query.sort).toEqual([
|
||||||
|
{ '@timestamp': { order: 'desc', unmapped_type: 'boolean' } },
|
||||||
|
{ _doc: { order: 'desc' } },
|
||||||
|
]);
|
||||||
|
|
||||||
const expectedAggs = {
|
const expectedAggs = {
|
||||||
2: {
|
2: {
|
||||||
|
|||||||
Reference in New Issue
Block a user