2011-11-22 73 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不幸的是..但是..也許你可以創建一個包含索引器並掛鉤本地服務的鉤子,或者使用模型監聽器來向索引添加布局。 –