HQL deletion does not trigger Elasticsearch deletion

It is expected. Delete queries are executed without the client (Hibernate Search, and Hibernate ORM for that matter) knowing what is deleted exactly.

Similarly, if you use a second-level cache, it won’t be updated to reflect the changes performed by your HQL query. Though I suppose it’s less critical with delete queries than it is with update queries.