用户未在搜索portlet的搜索结果中显示

时间:2014-04-28 08:40:25

标签: liferay liferay-6

我正在使用Liferay-Portal-6.0.6,我已经为我的组织开发了一个Intranet平台。

使用LDAP(AD集成)完成用户身份验证和导入。

有一种情况是,一个用户在控制面板的“用户”部分中处于活动状态且可用,未显示在搜索portlet的搜索结果中。所有用户都可以搜索但是这个。

有谁知道为什么会发生这种情况?如果是,请提供帮助。

P.S.- 不使用Hooks或Exts修改搜索portlet。它是Liferay提供的默认开箱即用portlet。

3 个答案:

答案 0 :(得分:1)

您可以使用Luke浏览器https://code.google.com/p/luke/查看Liferay创建的lucene索引,并了解特定用户的存储方式。 也许这个奇怪的用户被编入索引,你不会想到并理解上下文。

答案 1 :(得分:0)

经过长时间的研究和精细的研究,我找到了解决方案。 我的liferay实例连接到处理所有索引的SOLR服务器。我检查了我的SOLR服务器的内存,发现阈值内存已满。 我使用以下命令得到以下结果 -

[root@ze42-v-zlapp02 bin]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_root
                  227G   227G  0G  100% /
/dev/sda1              99M   18M   77M  19% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm

我发现SOLR生成的日志充斥着服务器内存。所以我实施了以下步骤以缓解问题 -

  
      
  1. 停止liferay tomcat服务器
  2.   
  3. 停止SOLR服务器
  4.   
  5. 删除SOLR-tomcat / logs文件夹中的日志文件
  6.   
  7. 使用 cat / dev / null>清除catalina.out; catalina.out中即可。 P.S.-不要删除catalina.out
  8.   
  9. 启动SOLR服务器
  10.   
  11. 转到SOLR控制台 http://yoursolrIP:port/solr/admin/logging 并将所有辅助日志级别设置为 INFO
  12.   
  13. 启动liferay服务器
  14.   

我还实现了一个旧的日志删除脚本并将其添加到cron作业中。现在只有最后10天的日志存储在我的案例中,而旧版本会根据cron作业自动删除。

答案 2 :(得分:0)

您自己的答案只是一个临时解决方案。最佳实践是实现logrotate。这是在操作系统级别上完成的,因此您的任何系统管理员都应该能够为您完成此操作。如果您必须自己完成,这里有一个链接,描述如何在RHEL5系统上启用logrotate。 http://www.sysarchitects.com/logrotate_for_solr

由于logrotate的实现可能因OS而异,我无法提供任何进一步的信息;)