David Alpert (Next League) ca40c6191c
demonstrate fluent queries to exclude fields with empty values (#4579)
a `TermQuery` with an empty string `Value` is considered by the .NET client to be "conditionless" and is removed from the search request body by default.

for those times that you want to use a `TermQuery` with an empty string `Value` (e.g. show me all documents with a non-empty last_name property) you need to use the `.Verbatim()` method to tell the client library to include the `TermQuery` as written even though it is considered to be "conditionless".

in other words, while a "conditionless" query may not make sense in the positive it can make sense in the negative

```
GET /my-index/_search
{
     "query": {
        "bool": {
          "must": [{
            "exists": { "field": "last_name"}
          }],
          "must_not": [{
            "term": {"last_name.keyword": { "value": "" }}
          }]
        }
      },
}
```

Signed-off-by: David Alpert (Next League) <112503249+david-alpert-nl@users.noreply.github.com>
2023-07-18 10:08:56 -07:00
..
2023-05-15 11:23:23 -05:00
2023-06-13 15:06:50 -04:00