将参数传递给Liferay的服务搜索功能

时间:2018-08-19 15:48:04

标签: elasticsearch liferay liferay-7

我需要使用Liferay的索引来搜索与确定的字符串匹配的用户,这可以通过使用UserLocalServiceImpl#search(long companyId, String keywords, int status, LinkedHashMap<String,Object> params, int start, int end, com.liferay.portal.kernel.search.Sort sort)来实现。

此外,我希望能够通过UserGroup过滤用户。

我希望可以将userGroupId传递给此函数到params中,但是似乎找不到关于params应该是什么的文档。

通过查看source code好像它已被添加到用于生成查询的SearchContext中,但是我无法跟踪代码到然后使用。

有人知道关于为此目的我可以放入params中的任何信息吗?

我正在使用Liferay CE 7.0版

1 个答案:

答案 0 :(得分:1)

请看看在方法addContextQueryParams中添加UserIndexer.java。 看起来参数键应该是usersGroups,并且应该具有Long []值。这里还处理其他一些键,因此您可以获得一些有关如何在此处处理参数(调试器?)的信息。