Я пытаюсь реализовать Elasticsearch в приложении загрузки Spring, я выполнил шаги, описанные в документации , и все работает нормально, когда дело доходит до интеграции клиента (с использованием рекомендованного клиента Hight Level Rest), сопоставление или индексация ... Но когда я пытаюсь запросить документы, я получаю следующую ошибку:
java.lang.NumberFormatException: For input string: "-Je513EBi1vVkAiBdanX"
Моя конфигурация:
@Configuration
@EnableElasticsearchRepositories
public class ElasticConfig extends AbstractElasticsearchConfiguration {
@Bean
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration configuration = ClientConfiguration.localhost();
RestHighLevelClient client = RestClients.create(configuration).rest();
return client;
}
@Bean
public ElasticsearchRestTemplate elasticsearchTemplate() {
return new ElasticsearchRestTemplate(elasticsearchClient());
}
}
Мой репозиторий:
@Repository
public interface UserRepository extends ElasticsearchRepository<User, Long> {
List<User> findByName(String name);
}
Моя служба:
public List<User> getUsers(String qry){
return userRepository.findByName(qry);
}
Моя модель:
@Document(indexName = "users")
public class User {
@Id private Long id;
private String name;
private String username;
private String avatar;
private String bio;
private boolean checked;
public User() { }
public User(
@JsonProperty("id") Long id,
@JsonProperty("name") String name,
@JsonProperty("username") String username,
@JsonProperty("avatar") String avatar,
@JsonProperty("bio") String bio,
@JsonProperty("checked") boolean checked) {
this.id = id;
this.name = name;
this.username = username;
this.avatar = avatar;
this.bio = bio;
this.checked = checked;
}
// Getters
// Setters
}