我最近使用自動腳本從Liferay數據庫中刪除了120,000個用戶。然而在此之前,我使用DELETE FROM User_ WHERE userId = 1234567從數據庫中手動刪除了2個用戶 - 只是爲了瞭解用戶可能擁有的任何關聯會發生什麼。無法重新索引所有搜索索引
用戶已被刪除,但保留該userId(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 似乎是比任何用戶創建userId高一位數(我可能是錯誤的)
所以我的問題是,我該如何解決這個問題,所以我可以執行reindex?
Liferay的EE 6.2 的Tomcat 7.0.33 SQL服務器
這與我可能寫的答案非常接近 - 實際上,引用的內容甚至可能是我在不同位置找到的單詞:) –
此引用來自David H Nebinger,他很快回復了我在Liferay論壇發佈的帖子:https://www.liferay.com/community/forums//message_boards/message/37253618。雖然先生,我感謝您的意見。 –
如果Liferay有外鍵約束,這個「規則」就會過時。只是說... –