簡體   English   中英

Elasticsearch無法使用liquibase加載的數據

[英]Elasticsearch not working with data loaded by liquibase

我有一個由JHipster 3.0.0生成的項目,並且正在使用elasticsearch作為搜索引擎。

我正在使用liquibase將數據加載到一個表中,但是我無法使用elasticsearch查詢這些數據,因為我從未使用由liquibase加載的數據調用DataSearchRepository上的save()方法。

這就是我將數據加載到liquibase xml文件中的方式:

    <sqlFile dbms="postgresql"
             encoding="utf8"
             path="../data.sql"
             relativeToChangelogFile="true"/>

現在,我加載所有數據,然后在應用程序啟動時使用DataSearchRepository保存它們:

@PostConstruct
private void init() {
   dataSearchRepository.save(dataRepository.findAll());
}

但是我只想執行一次,而不是每次應用程序啟動時都這樣做。

這些數據是“靜態的”(3萬行),所以這就是為什么我想繼續使用sql文件加載它們的原因。

有更好的方法做到這一點,還是我必須堅持下去?

問候

在這里嘗試我的項目: https : //github.com/geraldhumphries/generator-jhipster-elasticsearch-reindexer

這將生成一項服務,使您可以將Elasticsearch與數據庫同步。 它與您的實現非常相似,但是需要由管理員用戶手動運行,並且可以通過您的API進行訪問。 對於您的情況,您只需要在應用程序運行時手動運行一次,它將為您使用Liquibase插入的30,000行編制索引。

您可以修改生成的服務以刪除所有其他實體的索引。 有一項計划的功能,可讓您忽略某些實體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM