我在用Elasticsearch搜索时遇到问题。我使用JHipser生成器v.3.4.0,并通过* .csv文件初始化H2数据库。接下来,我尝试搜索某些东西,除非我手动添加一些对象,否则Elasticsearch始终返回[],然后我只会得到一个对象。您有任何解决办法的想法吗?
最佳答案
好。我使用了jhipster-elasticsearch-reindexer并进行了POST形式的swagger-ui,现在所有对象都可以通过Elasticsearch到达。
编辑:
我使Elasticsearch重新索引自动化。启动应用程序后调用。如果要这样做,请按照以下步骤操作。
脚步:
1.从以下位置添加到您的JHipster项目Elasticsearch Reindexer中:https://github.com/geraldhumphries/generator-jhipster-elasticsearch-reindexer
2.通过添加类重新索引elasticsearch:
@Component
public class ElasticsearchReindexOnStart implements ApplicationListener<ContextRefreshedEvent> {
private final ElasticsearchIndexService elasticsearchIndexService;
@Inject
public ElasticsearchReindexOnStart(ElasticsearchIndexService elasticsearchIndexService) {
this.elasticsearchIndexService = elasticsearchIndexService;
}
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
elasticsearchIndexService.reindexAll();
}
}
之后,重新启动您的应用程序,现在它应该可以正常运行,而无需从swagger-ui执行POST。