【问题标题】:Passing parameters to Liferay's services search function将参数传递给 Liferay 的服务搜索功能
【发布时间】:2019-01-25 21:50:52
【问题描述】:

我需要使用 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 版

【问题讨论】:

    标签: elasticsearch liferay liferay-7


    【解决方案1】:

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

    【讨论】:

    • 是的,这对我来说实际上很有意义,但是通过启用索引器的日志并查看对 elasticsearch 进行的查询,结果发现 usersGroups 不是UserGroups 的 ID,但要过滤 Users 的 Group ID
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多