The JPA Criteria API can provide support in the implementation of the optional filter clauses. For the long text columns, Hibernate Search can provide a full-text search.
The combination of Hibernate Search and the JPA Criteria API is shown in the MovieManager project. The APIs are used to create search user interfaces for movies and actors.