首页 > 解决方案 > 将参数传递给 Liferay 的服务搜索功能

问题描述

我需要使用 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应该是什么的文档。

通过查看源代码,它看起来像是被添加到SearchContext用于生成查询的源代码中,但我无法将代码跟踪到随后使用的位置。

有谁知道我可以params为此目的投入什么?

我使用的是 Liferay CE 7.0 版

标签: elasticsearchliferayliferay-7

解决方案


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


推荐阅读