Query query = qb.bool().must(qb.bool()
.must(new TermQuery(new Term("id", "1"))).createQuery())
.filteredBy(qb.bool()
.should(new TermQuery(new Term("firstName", "nonexisting"))) .must(new TermQuery(new Term("lastName", "jaric")))
.createQuery()
)
.createQuery();