Yes it is pretty obvious.
In the first search, you are searching in all fields via _all.
The second query, searches only within field named baz. Hence, the second query results are bound to be lesser and a subset of the first query results.
I can't. At least I think, in this direction, I would have to make a complete example to prove the case, including data. But I can say that I've noticed that, apart from the mapping being "normal", only a few prebuilt analyzers make consistent results. It feels like _all will always use one of those analyzers. The standard analyzer maybe.
So here is something I put together, using all defaults (including analyzer standard for text types). It gives exactly expected results, search in _all gives more results than a search in specific field.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.