我正在开发一个用于高级搜索liferay内容的模块,我被困在文档库搜索中,它被要求按文档类型搜索文档,我想知道这个功能的可行性,我已经检查过liferay代码,发现文档库索引器不索引文档扩展名,而是索引整个文件名
请帮我解决这个问题
答案 0 :(得分:1)
如果您使用的是6.0或更高版本,则可以使用hook插件更改文档索引的方式。
只需在liferay-hook.xml
<indexer-post-processor>
<indexer-class-name>com.liferay.portal.model.DLFileEntry</indexer-class-name>
<indexer-post-processor-impl>com.example.hook.indexer.DLFileEntryIndexerPostProcessor</indexer-post-processor-impl>
</indexer-post-processor>
在你的后处理器类中扩展com.liferay.portal.kernel.search.BaseIndexerPostProcessor并实现你需要更改的方法。
在这种情况下,您需要实现postProcessDocument
以将扩展名添加为索引字段,并postProcessSearchQuery
或postProcessFullQuery
将其作为搜索查询的一部分包含在内。