Liferay 搜索基于用户类型的期刊文章的特定搜索

Liferay 搜索基于用户类型的期刊文章的特定搜索,liferay,liferay-6,Liferay,Liferay 6,我有这个要求: 我们有一个journalarticle,我们希望有一个为应用程序的内部和外部用户提供内容的部分。 我们可以通过在web内容显示上实现自定义模板,并为用户使用一个简单的自定义字段来帮助我们对内容进行分类,从而隐藏内容。 如上所述,当我们作为外部用户搜索某个内容时,搜索portlet能够获取一篇文章,其中搜索文本是内部用户内容的一部分,并且由于上面提到的模板,内容不可见 简言之,从用户的角度来看,结果文章与搜索词不匹配 我想寻找一些指针来检查是否有一种机制来确保当外部用户搜索某个内容

我有这个要求:

我们有一个journalarticle,我们希望有一个为应用程序的内部和外部用户提供内容的部分。 我们可以通过在web内容显示上实现自定义模板,并为用户使用一个简单的自定义字段来帮助我们对内容进行分类,从而隐藏内容。 如上所述,当我们作为外部用户搜索某个内容时,搜索portlet能够获取一篇文章,其中搜索文本是内部用户内容的一部分,并且由于上面提到的模板,内容不可见

简言之,从用户的角度来看,结果文章与搜索词不匹配

我想寻找一些指针来检查是否有一种机制来确保当外部用户搜索某个内容时,我们只搜索与用户类型匹配的文档的动态元素

我们有数千篇这样的文章,创建同一篇文章的多个副本似乎不是可行的解决方案。。所以任何指点都会帮上大忙

Liferay版本:6.2 GA4 CE

谢谢!
AJ

首先:在文档中找不到搜索词可能是搜索引擎中同义词解析良好的标志。如果这种行为总是错误的,或者只是在这种特殊情况下,这是值得怀疑的。记得吗

尽管如此,我相信这种半可视文档的体系结构从一开始就是有缺陷的。理想情况下,我建议对其进行更改,例如将信息拆分为两篇文章,这样您就可以使用标准权限来解析。如果两者都链接,则可以确定如何/使用哪一篇文章或模板。这不是一个理想的解决方案,但可能是一个解决办法

另一种解决方法可能是更改Liferay的索引器组件,并使用两种不同的权限为文章的两个不同版本编制索引。当然,你也必须改变搜索端,这样你最多只能找到每篇文章一次,即使它现在在搜索引擎中出现了两次


同样,这并不理想,但可能是在不改变底层架构的情况下,您现在可以得到的最快的修复方法。不过,更改底层体系结构是我的实际建议。

感谢分享您的观点。我走的是同一条路,但怀疑是否要覆盖索引器。我接受了这个答案,尽管我没有追求将索引器的想法挂接到底,因为我认为@Olaf很好地突出了这个缺陷,并且我乐观地认为共享的解决方案会起作用,因为我也尝试了同样的方法用于其他事情。我们最终决定创建两个文档,尽管这会导致冗余,但可以节省测试。如果是这样的话,用磁盘空间换取更好的可维护性听起来是合理的。我几乎总是选择更好的可维护性——在其他条件相同的情况下。