ElasticsearchIndexService

ElasticsearchIndexService

我在用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。

07-24 09:25