mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-04 04:22:50 +00:00
refactor: update es-mapping-generator
This commit is contained in:
@@ -0,0 +1,82 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019-2021 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with
|
||||||
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An elasticsearch bucket aggregation
|
||||||
|
*
|
||||||
|
* @see https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-aggregations-bucket.html
|
||||||
|
*/
|
||||||
|
export interface AggregationSchema {
|
||||||
|
[aggregationName: string]: ESTermsFilter | ESNestedAggregation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An elasticsearch terms filter
|
||||||
|
*/
|
||||||
|
export interface ESTermsFilter {
|
||||||
|
/**
|
||||||
|
* Terms filter definition
|
||||||
|
*/
|
||||||
|
terms: {
|
||||||
|
/**
|
||||||
|
* Field to apply filter to
|
||||||
|
*/
|
||||||
|
field: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of results
|
||||||
|
*/
|
||||||
|
size?: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter that filters by name of the the field type
|
||||||
|
*/
|
||||||
|
export interface ESAggTypeFilter {
|
||||||
|
/**
|
||||||
|
* The type of the object to find
|
||||||
|
*/
|
||||||
|
term: {
|
||||||
|
/**
|
||||||
|
* The name of the type
|
||||||
|
*/
|
||||||
|
type: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter that matches everything
|
||||||
|
*/
|
||||||
|
export interface ESAggMatchAllFilter {
|
||||||
|
/**
|
||||||
|
* Filter that matches everything
|
||||||
|
*/
|
||||||
|
match_all: object;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For nested aggregations
|
||||||
|
*/
|
||||||
|
export interface ESNestedAggregation {
|
||||||
|
/**
|
||||||
|
* Possible nested Aggregations
|
||||||
|
*/
|
||||||
|
aggs: AggregationSchema;
|
||||||
|
/**
|
||||||
|
* Possible filter for types
|
||||||
|
*/
|
||||||
|
filter: ESAggTypeFilter | ESAggMatchAllFilter;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user