如何在我自己的模块中使用Liferay搜索服务?

时间:2019-09-11 19:36:36

标签: search liferay liferay-7.1

我对Liferay 7.1有要求。我需要创建一个搜索页面,用户可以在其中查看按某些类别组织成列的结果。我一直在想两种方法:

  1. 在主题中创建逻辑以完全改变搜索页面并组织数据
  2. 创建一个使用与Liferay实际使用的搜索服务相同的模块。

我宁愿选择第二种方法,因为我不想弄乱DOM,我认为创建自己的页面更容易,但是我一直无法找到该服务,有人可以给我一些有关我需要使用的搜索服务?

我试图以此作为指导:https://github.com/liferay/com-liferay-portal-search/blob/master/portal-search-web/src/main/java/com/liferay/portal/search/web/internal/portlet/SearchPortlet.java;但是我无法创建PortalOpenSearchImpl实例。

1 个答案:

答案 0 :(得分:0)

首先,请参阅this answer中提到的选项。也许您可以简单地从现有窗口小部件组装页面,然后自定义外观。

如果这不是一个选项,那么您需要创建定制portlet。根据您的问题,我知道您正在走这条路,但是您所看到的代码错误。您粘贴的链接来自Liferay为模块使用单独的存储库的时间。但是现在回到了monorepo。 Here is the code版本7.1的搜索Portlet

在这里无法解释门户中整个搜索基础结构的工作方式。查看portal-search文件夹的内容,以了解该功能的复杂性。我所能做的就是给您一些指向文档相关部分的链接:

以及指向相同(可能相关)示例的链接: