2011-11-22 46 views
0

我想覆盖索引器的功能,我发现索引器是在liferay-portlet.xml中定义的,因此我无法覆盖索引器,除非我更改了服务器上的文件一个不好的做法,所以无论如何,我可以改变索引器在一个很好的方式?更改Liferay搜索索引器

回答

4

如果您使用的是6.0或更高版本,则可以使用挂钩插件更改文档索引的方式。

liferay-hook.xml

<indexer-post-processor> 
    <indexer-class-name>com.liferay.portal.model.User</indexer-class-name> 
    <indexer-post-processor-impl>com.example.hook.indexer.UserIndexerPostProcessor</indexer-post-processor-impl> 
</indexer-post-processor> 

简单地定义在你的后处理器类扩展com.liferay.portal.kernel.search.BaseIndexerPostProcessor并实现你需要改变了方法。

+0

辉煌......谢谢:) –

+0

是否有可能为没有默认索引器的Liferay实体创建Indexer Post Procesor?..例如:Layout。 – moisesbelda

+0

@moisesbelda不幸的是..但是..也许你可以创建一个包含索引器并挂钩本地服务的钩子,或者使用模型监听器来向索引添加布局。 –