【发布时间】:2019-11-27 02:54:15
【问题描述】:
我有两个应用程序使用相同的 Elasticsearch 实例作为搜索引擎。两个应用程序共享相同的代码库,并且只有很小的差异。
应用程序针对不同的数据库运行,因此应使用不同的 ES 索引。
我尝试像这样使用 SpEL 参数化索引名称:
@Indexed(index="${es.index.users}")
public UserEntity {}
但是,它不起作用。
我尝试的第二个选项是通过hibernate.search.default.indexBase=<app_name> 为不同的应用程序设置不同的前缀。但是,它仅适用于 Lucene 引擎,不适用于 ES。
有没有办法在运行时将索引名称传递给@Indexed 注释?
如果没有,还有其他方法可以传递应该使用的索引吗?
【问题讨论】:
标签: java elasticsearch lucene hibernate-search spring-el