Jhipster 弹性搜索 org.elasticsearch.indices.IndexMissingException

Jhipster Elasticsearch org.elasticsearch.indices.IndexMissingException

我正在尝试 jhipster 并学习技术堆栈。

环境: 数据库:

我创建了一个新的 jhipster 项目并将一些外部生成的实体复制到域文件夹中。

然后写了一个解析器在.jhipster文件夹中生成[Entity].json文件。

我 运行 实体子生成器使用这个 json 文件,它要求我覆盖现有的实体文件(我从外部项目复制的)。

I select 否,然后生成器生成 CRUD html/js 文件。

当我运行应用程序时,它可以save/edit数据正确。

但是当我搜索时,我得到 IndexMissingException

我检查了目标文件夹,发现 target/elasticsearch/data 不包含此实体的任何索引。

我对 elasticsearch 不是很熟悉,想知道这个 IndexMissingException 是否有解决方法

有几种方法可以解决这个问题。

当应用程序不存在时,您可以简单地删除目标文件夹 运行,然后重新运行它。这将为您的所有实体重新生成索引,但由于 Elasticsearch 本质上是一个数据存储,您将丢失其中的所有数据,因此它不适合生产环境。

我创建了一个 Yeoman generator,它会生成一个服务,将您的主数据存储中的所有数据重新插入到您的 elasticsearch 索引中。这有助于解决第一个解决方案中的数据问题。它还将以编程方式删除并重新创建您的索引,因此它可用于直接解决您的问题。

您可以在服务器 运行 时使用 Create Index API。这对于需要保留索引中的数据的生产环境非常重要。