【问题标题】:Jhipster Elasticsearch org.elasticsearch.indices.IndexMissingExceptionJhipster Elasticsearch org.elasticsearch.indices.IndexMissingException
【发布时间】:2016-04-13 06:21:00
【问题描述】:

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

环境: 数据库:

  • Orcale(产品和开发)
  • 弹性搜索
  • 窗户

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

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

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

我选择否,然后生成器生成 CRUD html/js 文件。

当我运行应用程序时,它可以正确保存/编辑数据。

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

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

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

【问题讨论】:

    标签: jhipster


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢 geraldhumphries 的回复。我会试试你的发电机并通知
    • 尝试了您的解决方案。似乎工作。现在解决了 IndexMissingException。谢谢
    猜你喜欢
    • 2018-11-26
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多