Limitar el número de filas es una excelente manera de acelerar el autocompletado. Sin embargo, no tengo claro por qué limitaría a 1000 filas:no puede mostrar 1000 entradas en un menú desplegable; ¿No debería limitarse a unas 10 entradas?
Según sus comentarios a continuación, aquí hay una consulta de base de datos de ejemplo que debería poder adaptar a su situación:
String queryString = "select distinct b.title from Books b where b.title like ':userValue'";
Query query = entityManager.createQuery(queryString);
query.setParameter("userValue", userValue + "%");
query.setMaxResults(20);
List<String> results = query.getResultList();