Package dev.evo.elasticmagic.qf

Types

AppliedQueryFilters
Link copied to clipboard
class AppliedQueryFilters(queryFilters: <ERROR CLASS><String, BoundFilter<*, *>>, preparedFilters: Map<String, PreparedFilter<*>>)
BoundFilter
Link copied to clipboard
class BoundFilter<C : PreparedFilter<R>, R : FilterResult>(name: String, filter: Filter<C, R>)
FacetFilter
Link copied to clipboard
class FacetFilter<T, V>(field: <ERROR CLASS><V>, name: String?, mode: FacetFilterMode, termsAgg: <ERROR CLASS><T>) : Filter<PreparedFacetFilter<T>, FacetFilterResult<T>>
FacetFilter calculates counts for a field values and allows a search query to be filtered by those values.
FacetFilterMode
Link copied to clipboard
enum FacetFilterMode : Enum<FacetFilterMode>
FacetFilterMode determines a way how values should be filtered:
  • UNION - 2 or more selected values are combined with OR operator. Most of the facet filters should use this mode. For example, you are buying car wheels of one of the sizes: R16 or R17. So after you choose corresponding values, a search query will be filtered with in following way: wheel_size == R16 || wheel_size == R17

  • INTERSECT - 2 or more selected values are combined using AND operator. Especially useful with multi-valued fields. For example, you want to buy a charger that supports AA, AAA and 18650 battery types. So when you choose all the required values, a generated search query should be filtered with battery_type == AA && battery_type == AAA && battery_type == 18650

FacetFilterResult
Link copied to clipboard
data class FacetFilterResult<T>(name: String, mode: FacetFilterMode, values: List<FacetFilterValue<T>>, selected: Boolean) : FilterResult, Iterable<FacetFilterValue<T>>
FacetFilterResult represents result of a FacetFilter.
FacetFilterValue
Link copied to clipboard
data class FacetFilterValue<T>(bucket: <ERROR CLASS><T>, selected: Boolean)
FacetFilterValue represents bucket of the corresponding terms aggregation.
FacetRangeFilter
Link copied to clipboard
class FacetRangeFilter<T>(field: <ERROR CLASS><T>, name: String?, aggs: Map<String, <ERROR CLASS><out <ERROR CLASS>>>) : Filter<PreparedFacetRangeFilter<T>, FacetRangeFilterResult<T>>
FacetRangeFilter filters a search query using a dev.evo.elasticmagic.query.
FacetRangeFilterResult
Link copied to clipboard
data class FacetRangeFilterResult<T>(name: String, from: T?, to: T?, count: Long, aggs: Map<String, <ERROR CLASS>>) : FilterResult
Filter
Link copied to clipboard
abstract class Filter<C : PreparedFilter<R>, R : FilterResult>(name: String?)
FilterResult
Link copied to clipboard
interface FilterResult
MutableQueryFilterParams
Link copied to clipboard
typealias MutableQueryFilterParams = MutableMap<<ERROR CLASS><String, String>, MutableList<String>>
PageFilter
Link copied to clipboard
class PageFilter(name: String?, availablePageSizes: List<Int>, defaultPageSize: Int?, maxHits: Int) : Filter<PageFilterContext, PageFilterResult>
PageFilter allows to paginate search query results.
PageFilterContext
Link copied to clipboard
class PageFilterContext(filter: PageFilter, name: String, page: Int, perPage: Int, from: Int, size: Int) : PreparedFilter<PageFilterResult>
Filter that is ready for applying to a search query.
PageFilterResult
Link copied to clipboard
data class PageFilterResult(name: String, hits: List<<ERROR CLASS><out <ERROR CLASS>>>, totalHits: Long, page: Int, perPage: Int, totalPages: Int, from: Int, size: Int) : FilterResult, Iterable<<ERROR CLASS><out <ERROR CLASS>>>
PageFilterResult holds result of a PageFilter.
PreparedFacetFilter
Link copied to clipboard
class PreparedFacetFilter<T>(filter: FacetFilter<T, *>, name: String, facetFilterExpr: <ERROR CLASS>?, selectedValues: List<Any?>) : PreparedFilter<FacetFilterResult<T>>
Filter that is ready for applying to a search query.
PreparedFacetRangeFilter
Link copied to clipboard
class PreparedFacetRangeFilter<T>(filter: FacetRangeFilter<T>, name: String, facetFilterExpr: <ERROR CLASS>?, from: Any?, to: Any?) : PreparedFilter<FacetRangeFilterResult<T>>
Filter that is ready for applying to a search query.
PreparedFilter
Link copied to clipboard
abstract class PreparedFilter<R : FilterResult>(name: String, facetFilterExpr: <ERROR CLASS>?)
PreparedSortFilter
Link copied to clipboard
class PreparedSortFilter(filter: SortFilter, name: String, selectedValue: SortFilterValue) : PreparedFilter<SortFilterResult>
Filter that is ready for applying to a search query.
QueryFilterParams
Link copied to clipboard
typealias QueryFilterParams = Map<<ERROR CLASS><String, String>, List<String>>
QueryFilters
Link copied to clipboard
open class QueryFilters : Iterable<BoundFilter<*, *>>
QueryFiltersResult
Link copied to clipboard
class QueryFiltersResult(results: <ERROR CLASS><String, FilterResult>) : Iterable<FilterResult>
SortFilter
Link copied to clipboard
class SortFilter(sortValues: SortFilterValue, name: String?) : Filter<PreparedSortFilter, SortFilterResult>
SortFilter applies a sorting to a search query.
SortFilterResult
Link copied to clipboard
data class SortFilterResult(name: String, values: List<SortFilterValueResult>) : FilterResult
Result of the SortFilter.
SortFilterValue
Link copied to clipboard
class SortFilterValue(value: String, sorts: List<<ERROR CLASS>>)
SortFilterValue holds a value of a sort and a list of Sort that should be applied when the value is selected.
SortFilterValueResult
Link copied to clipboard
data class SortFilterValueResult(value: String, selected: Boolean)
Represents result of the SortFilterValue.

Functions

decodeLastValue
Link copied to clipboard
fun <T> QueryFilterParams.decodeLastValue(key: <ERROR CLASS><String, String>, fieldType: <ERROR CLASS><out <ERROR CLASS>, T>): T?
decodeValues
Link copied to clipboard
fun <T> QueryFilterParams.decodeValues(key: <ERROR CLASS><String, String>, fieldType: <ERROR CLASS><out <ERROR CLASS>, T>): List<T>