我有这个要求:
说过当我们搜索外部用户时,搜索portlet能够获取一篇文章,其中搜索文本是内部用户内容的一部分,并且由于上述模板,内容不可见。< / p>
简而言之,从用户的角度来看,结果文章与搜索的术语不匹配。
我希望找一些指针,检查是否有机制确保当外部用户搜索某些内容时,我们只搜索与用户类型匹配的doc的动态元素?
我们有成千上万的这样的文章并创建同一篇文章的多个副本似乎不太可行的解决方案..所以任何指针都会有很大的帮助。
Liferay版本:6.2 GA4 CE
谢谢! AJ
答案 0 :(得分:0)
首先:在文档中找不到搜索词可能是搜索引擎中良好的同义词解析的标志。如果此行为总是错误或仅在此特定情况下,这是值得怀疑的。还记得google bombs吗?
话虽如此,我相信这种半可见文档的架构从一开始就存在缺陷。理想情况下,我建议更改它,例如将信息拆分为两篇文章,以便您可以使用标准权限来解决。如果您同时链接两者,则可以确定要使用的文章或模板。它不是一个理想的解决方案,但可能是一种解决方法。
另一种解决方法可能是更改Liferay的索引器组件并索引文章的两个不同版本,具有两种不同的权限。当然,你也必须改变搜索方面,以便你最多可以找到一篇文章,即使它现在在搜索引擎中只有两次。
再次 - 不理想,但可能是您现在可以获得的最快的修复,而无需更改底层架构。但是,改变底层架构是我的实际建议。