use of org.codelibs.fess.es.config.cbean.cq.RelatedContentCQ in project fess by codelibs.
the class BsRelatedContentCQ method bool.
public void bool(BoolCall<RelatedContentCQ> boolLambda, ConditionOptionCall<BoolQueryBuilder> opLambda) {
RelatedContentCQ mustQuery = new RelatedContentCQ();
RelatedContentCQ shouldQuery = new RelatedContentCQ();
RelatedContentCQ mustNotQuery = new RelatedContentCQ();
RelatedContentCQ filterQuery = new RelatedContentCQ();
boolLambda.callback(mustQuery, shouldQuery, mustNotQuery, filterQuery);
if (mustQuery.hasQueries() || shouldQuery.hasQueries() || mustNotQuery.hasQueries() || filterQuery.hasQueries()) {
BoolQueryBuilder builder = regBoolCQ(mustQuery.getQueryBuilderList(), shouldQuery.getQueryBuilderList(), mustNotQuery.getQueryBuilderList(), filterQuery.getQueryBuilderList());
if (opLambda != null) {
opLambda.callback(builder);
}
}
}
use of org.codelibs.fess.es.config.cbean.cq.RelatedContentCQ in project fess by codelibs.
the class BsRelatedContentCA method filter.
// ===================================================================================
// Aggregation Set
// =========
public void filter(String name, EsAbstractConditionQuery.OperatorCall<BsRelatedContentCQ> queryLambda, ConditionOptionCall<FilterAggregationBuilder> opLambda, OperatorCall<BsRelatedContentCA> aggsLambda) {
RelatedContentCQ cq = new RelatedContentCQ();
if (queryLambda != null) {
queryLambda.callback(cq);
}
FilterAggregationBuilder builder = regFilterA(name, cq.getQuery());
if (opLambda != null) {
opLambda.callback(builder);
}
if (aggsLambda != null) {
RelatedContentCA ca = new RelatedContentCA();
aggsLambda.callback(ca);
ca.getAggregationBuilderList().forEach(builder::subAggregation);
}
}
use of org.codelibs.fess.es.config.cbean.cq.RelatedContentCQ in project fess by codelibs.
the class BsRelatedContentCQ method functionScore.
// ===================================================================================
// Query Control
// =============
public void functionScore(OperatorCall<RelatedContentCQ> queryLambda, ScoreFunctionCall<ScoreFunctionCreator<RelatedContentCQ>> functionsLambda, final ConditionOptionCall<FunctionScoreQueryBuilder> opLambda) {
RelatedContentCQ cq = new RelatedContentCQ();
queryLambda.callback(cq);
final Collection<FilterFunctionBuilder> list = new ArrayList<>();
if (functionsLambda != null) {
functionsLambda.callback((cqLambda, scoreFunctionBuilder) -> {
RelatedContentCQ cf = new RelatedContentCQ();
cqLambda.callback(cf);
list.add(new FilterFunctionBuilder(cf.getQuery(), scoreFunctionBuilder));
});
}
final FunctionScoreQueryBuilder builder = regFunctionScoreQ(cq.getQuery(), list);
if (opLambda != null) {
opLambda.callback(builder);
}
}
Aggregations