Grails ElasticSearch插件:组件类型映射
我正在使用GrailsElastic搜索插件(0.0.3.0) 我有两个域实体:-A和B.Grails ElasticSearch插件:组件类型映射,grails,elasticsearch,grails-plugin,Grails,elasticsearch,Grails Plugin,我正在使用GrailsElastic搜索插件(0.0.3.0) 我有两个域实体:-A和B. 实体B映射为实体a中的组件。 例如:- class A { static searchable = { B component: true } } 对实体B所做的更改反映在索引B的弹性搜索中,但更改不反映在实体A中 我们需要重新索引实体A吗?如果是这样的话,这是插件中的错误还是按照设计的错误?我很确定这是与您的问题相关的代码 根据文档,B实际上存储为a的索引文档的一部分。由于在
实体B映射为实体a中的组件。 例如:-
class A {
static searchable = {
B component: true
}
}
对实体B所做的更改反映在索引B的弹性搜索中,但更改不反映在实体A中
我们需要重新索引实体A吗?如果是这样的话,这是插件中的错误还是按照设计的错误?我很确定这是与您的问题相关的代码
根据文档,B实际上存储为a的索引文档的一部分。由于在本例中A是根实体,并且A本身尚未更新,因此可以看到A将不会被重新索引。不确定这是“设计的”,还是一个缺点,但我可以告诉您,它就在代码中
对于懒惰的人:
void onPostUpdate(PostUpdateEvent event) {
def entity = getEventEntity(event)
if (!entity) {
logger.warn('Received a PostUpdateEvent with no entity')
return
}
if (elasticSearchContextHolder.isRootClass(entity.class)) {
pushToIndex(entity)
}
}