postFilter

fun postFilter(vararg filters: QueryExpression): T

Filter expressions in the post filter will be applied after the aggregations are calculated. Useful for building faceted filtering.

Samples

import dev.evo.elasticmagic.SearchQuery
import dev.evo.elasticmagic.aggs.HistogramAgg
import dev.evo.elasticmagic.aggs.TermsAgg
import dev.evo.elasticmagic.doc.Document
import dev.evo.elasticmagic.query.Bool
import dev.evo.elasticmagic.query.FunctionScore
import dev.evo.elasticmagic.query.FunctionScoreNode
import dev.evo.elasticmagic.query.MatchPhrase
import dev.evo.elasticmagic.query.MultiMatch
import dev.evo.elasticmagic.query.NodeHandle
import dev.evo.elasticmagic.query.QueryRescore
import dev.evo.elasticmagic.query.match

import kotlin.random.Random
fun main() { 
   //sampleStart 
   // Calculate aggregation for all users but fetch only active
searchQuery
    .aggs(
        "is_active" to TermsAgg(UserDoc.isActive)
    )
    .postFilter(
        UserDoc.isActive.eq(true)
    ) 
   //sampleEnd
}

See also

Parameters

filters

query filters which will be appended to the existing post filters.

fun postFilter(clear: SearchQuery.CLEAR): T

Clears the existing post filters.