条件索引是否适用于IndexedEmbedded?

时间:2014-01-19 22:55:07

标签: java hibernate indexing hibernate-search

我在互联网上找不到任何东西,所以我不得不在这里问。

[如何]我可以对嵌入式实体使用条件索引吗?我知道拦截器在@Indexed实体的根级别上工作,但是如果我能以某种方式将拦截器应用于我的索引结构中的非根实体(未使用@Indexed注释)。

EntityIndexingInterceptor.onCollectionUpdate(...)的文档让我希望能够实现这一目标。

“对索引实体中包含的集合触发CollectionUpdate事件,例如,当使用IndexedEmbedded时,此事件在此类集合中包含的每个索引域实例T上触发;这通常类似于onUpdate(Object)事件。 “

2 个答案:

答案 0 :(得分:0)

需要在索引实体上指定拦截器。它仅作为@Indexed注释的属性提供。如果这个带注释的实体使用了@InededEmbedded,那么如果嵌入式集合发生更改,您将在拦截器中获得回调。

您的用例究竟是什么?

答案 1 :(得分:0)

是的,它有效,请点击此处查看:https://docs.jboss.org/hibernate/search/4.2/api/org/hibernate/search/indexes/interceptor/EntityIndexingInterceptor.html#onCollectionUpdate(T)

基本上你接到一个onCollectionUpdate的调用,所以如果你想过滤一些东西就有了这个地方。我猜你也很担心。