The showcases should have two purposes:
1. Demonstrate uses of Hibernate Search in clear, concrete use cases.
2. Test Hibernate Search without any mock.
They should not, however, focus on details such as the multiple syntaxes of the Search DSL . Let's allow ourselves some opinionated choices here.
Clarify the description of the showcase in the README and in the POM to reflect the statements above.
Remove the multiple syntaxes for the Search DSL and the mapping: pick one (the lambda-based one) and stick to it.
Make sure all DAO methods could at least remotely make sense in a real-world environment.
Add methods to the DAO (and matching tests) for all major use cases. Projections in particular are missing, and maybe sorts, too?
Maybe use a real-world, lightweight framework, so that the DAOs do not seem as ridiculous? Emphasis on lightweight. I do not want to have to debug a huge framework when tests fail.
Reference the showcase from the documentation. At the very least a link to the source code on Github.
If possible without making it too complex, make it possible to run the integration test with both the Elasticsearch and Lucene backends.
I think that full-stack + integration test means functional tests. but let's keep that lexicon. I like the idea of using a single module as a showcase and functional tests module.