Liferay Can';t重新索引所有搜索索引

Liferay Can';t重新索引所有搜索索引,liferay,Liferay,我最近使用自动脚本从Liferay数据库中删除了120000个用户。然而,在此之前,我使用DELETE from User_uuuwhereuserid=1234567,手动从数据库中删除了2个用户,以查看用户可能具有的任何关联会发生什么情况 已删除该用户,但保留该用户ID(1234567)的所有其他表行仍保留。好的 现在我想重新索引所有搜索索引以获得当前用户列表,但LR抛出了一个异常: 08:07:41,922 ERROR [http-bio-20110-exec-290][LuceneInd

我最近使用自动脚本从Liferay数据库中删除了120000个用户。然而,在此之前,我使用DELETE from User_uuuwhereuserid=1234567,手动从数据库中删除了2个用户,以查看用户可能具有的任何关联会发生什么情况

已删除该用户,但保留该用户ID(1234567)的所有其他表行仍保留。好的

现在我想重新索引所有搜索索引以获得当前用户列表,但LR抛出了一个异常:

08:07:41,922 ERROR [http-bio-20110-exec-290][LuceneIndexer:136] Error encountere
d while reindexing
com.liferay.portal.kernel.search.SearchException: com.liferay.portal.NoSuchUserE
xception: No User exists with the key {contactId=1234568}
       at com.liferay.portal.kernel.search.BaseIndexer.getDocument(BaseIndexer.j
ava:179)
       at com.liferay.portlet.usersadmin.util.ContactIndexer$1.performAction(Con
tactIndexer.java:203)
  at com.liferay.portal.kernel.dao.orm.BaseActionableDynamicQuery.performActions
InSingleInterval(BaseActionableDynamicQuery.java:309)
     at com.liferay.portal.kernel.dao.orm.BaseActionableDynamicQuery.performActi
此contactId似乎比创建的任何用户的用户ID高一个位数(我可能错了)

所以我的问题是,如何解决这个问题,以便执行重新索引

Liferay EE 6.2 Tomcat 7.0.33
SQL Server

我发现手动删除的用户的联系人ID仍在联系人表中。我将他从表中删除,现在可以执行重新索引。我现在可以在重新索引后看到所有用户和用户组

来自LR:

使用Liferay的规则#1-数据库不是你的,你应该 永远不要在其中,也不应该针对它发出sql

Liferay API是修改数据的唯一方法。句号

Liferay API支持用户删除。如果您使用了Liferay API, 用户会被删除,索引等也会被删除 很好

好吧,我知道这会让人觉得有点咄咄逼人或者 有些事,但很重要。整个Liferay系统依赖于 它是数据,所以任何时候手动调整数据都有可能 破坏了系统。如果你深入了解实际过程 Liferay API不支持用户删除,您会看到“从 用户“where…”只是一小部分

我总是告诉刚接触Liferay的人忘记数据库 存在。这肯定是他们的数据库,不是你的,也不是你的 弄乱了


我发现手动删除的用户的联系人ID仍在联系人表中。我将他从表中删除,现在可以执行重新索引。我现在可以在重新索引后看到所有用户和用户组

来自LR:

使用Liferay的规则#1-数据库不是你的,你应该 永远不要在其中,也不应该针对它发出sql

Liferay API是修改数据的唯一方法。句号

Liferay API支持用户删除。如果您使用了Liferay API, 用户会被删除,索引等也会被删除 很好

好吧,我知道这会让人觉得有点咄咄逼人或者 有些事,但很重要。整个Liferay系统依赖于 它是数据,所以任何时候手动调整数据都有可能 破坏了系统。如果你深入了解实际过程 Liferay API不支持用户删除,您会看到“从 用户“where…”只是一小部分

我总是告诉刚接触Liferay的人忘记数据库 存在。这肯定是他们的数据库,不是你的,也不是你的 弄乱了


这非常接近于我作为答案所写的内容——事实上,引用的内容甚至可能是我在另一个地方发现的话:)这句话来自David H Nebinger,他很快回复了我在Liferay论坛上的帖子:。谢谢你的意见,如果Liferay有外键限制,这个“规则”就已经过时了。只是说……这与我可能写的答案非常接近——事实上,引用的内容甚至可能是你在不同地点发现的我的话:)这句话来自David H Nebinger,他很快回复了我在Liferay论坛上的帖子:。谢谢你的意见,如果Liferay有外键限制,这个“规则”就已经过时了。只是说。。。