elasticsearch索引交易

Jus*_*tin 1 search-engine elasticsearch

我正在探索elasticsearch并将其与我们当前的搜索解决方案进行比较.我的用例是,每当我构建索引时,我必须删除当前索引并创建具有相同名称的新索引.因此,所有旧文档都将使用旧索引删除,新索引将具有新数据.索引过程需要几分钟才能完成.

我的问题是在此期间进入的搜索请求会发生什么.弹性搜索是否使用事务并且仅在事务中提交所有更改(使用新文档删除索引和新索引)?

如果删除索引会发生什么,并且在索引编制过程中发生错误?如果没有交易,这种情况有解决办法吗?

imo*_*tov 6

Elasticsearch不支持事务.删除索引时,将删除索引.在您创建新索引之前,用户将获得IndexMissingException异常.创建新索引后,它们将仅查看已编制索引和刷新的记录(默认情况下每秒刷新一次).

从用户隐藏此功能的一种方法是使用别名.您可以创建指向索引的别名.当您需要重新索引数据时,可以创建新索引,在那里索引新数据,将别名切换到新索引并删除旧索引.