У нас есть Elasti c 5.6.10 HibernateSearch ORM 5.11.4.Final, установленный на одном из наших серверов приложений, и теперь мы планируем использовать тот же экземпляр Elasti c и его индексы через один из наших микросервисов. (весенняя загрузка, но с использованием тех же версий HibernateSearch и Elasti c). Причина в том, что мы планируем хранить данные из обоих этих приложений в едином индексе (поскольку это будут одни и те же данные), чтобы мы могли искать данные друг друга из обоих приложений.
Проблема мы сталкиваемся с квалифицированными именами сущностей. Как и в первом приложении, Entity находится, например, в com.ab c .data.to.FirstAppClassTO, а структура микросервиса похожа на com.ab c .service.model.MicroserviceClassTO (или любой другой тип пакета) . Теперь проблема в том, что мы создаем начальные индексы из нашего первого приложения. Но теперь, если мы попытаемся сделать com.ab c .service.model.MicroserviceClassTO проиндексированным, он создаст новый, или если мы предоставим то же имя индекса, то он переопределит существующий (который был создан из первого application).
Есть ли какой-либо способ в поиске гибернации или Elasti c Search, который мы можем реализовать так, как мы собираемся.
Первое приложение TO и Elasti c Схема :
@Entity
@Indexed(index="master_index")
public class UserTO{
Схема на Elasti c:
{
"master_client_index" : {
"aliases" : { },
"mappings" : {
"com.abc.pt.svc.data.to.UserTO" : {
TO и схема микросервиса:
@Entity
@Indexed(index = "master_index" )
@Table(name = "USER")
public class MSUserTO implements Serializable {
Схема на Elasti c:
{
"master_index" : {
"aliases" : { },
"mappings" : {
"com.abc.project.entity.user.MSUserTO" : {
Пожалуйста, поделитесь способами / концепциями / logi c, предоставленными HibernateSearch / ElasticSearch для достижения sh этого.