Reference · Cheat sheet
bool queryThe compressed essence. Print it, pin it.
| Clause | Meaning | Scores? | Cached? | SQL-ish |
|---|---|---|---|---|
| must | must match | yes | no | AND (scored) |
| should | preferably matches | yes | no | OR / boost |
| filter | must match | no | yes | AND (unscored) |
| must_not | must not match | no | yes | AND NOT |
must + should clauses are summed. filter/must_not add nothing.should and no must/filter → 1. Otherwise → 0.should means (the gotcha)| Context | should behaves as |
|---|---|
with a must/filter | optional booster — re-ranks only, never filters |
alone (no must/filter) | required matcher — acts like OR (≥1 must match) |
bool {
must: full-text relevance // scored
should: optional boosters // scored, re-rank
filter: exact / range / enum // unscored, cached
must_not: exclusions // unscored, cached
}
Relevance → must/should. Yes/no constraints → filter. Exclusions → must_not.
← lesson 0006 · Source: Query DSL — Boolean query