You can use your AddressSearchRepository which extends ElasticsearchRepository.
Just write your custom queries like:
List<Address> findByStreetnameAndNumber(String streetname, int number);
It will be converted to Elasticsearch queries automatically.
If you want to use JSON payload queries, use @Query annotation and write your JSON request there, like this:
public interface AddressSearchRepository extends ElasticsearchRepository<Address, String> {
@Query("{"bool" : {"must" : {"field" : {"name" : "?0"}}}}")
Page<Address> findByName(String name,Pageable pageable); }
See the documentation: Spring Data Elasticsearch @Query annotation