2020-08-31 07:13发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
产品可能会从目录中删除,并且发生这种情况时,应该从solr索引中删除这些产品。
我无法选择这些产品的PK,因为它们不存在。
有什么办法可以实现它?
您可以使用IndexerService方法,该方法可用于从索引类型中删除所选文档。 例如:void deleteTypeIndex(FacetSearchConfig arg0,IndexedType arg1,List arg2)抛出IndexerException;
这将不起作用。
您可以添加移除拦截器以拦截产品删除。
检测到删除后,st Solr删除作业将从Solr索引中删除该产品。
或者,您可以创建一个cron作业,以定期从Solr索引中获取所有文档ID,将它们与目录中的产品进行比较,然后删除孤立的文档。
索引每天更新几次,我不知道确切的时间间隔。
我考虑过要存储当前在solr索引中的所有PK(或每次查询solr),并使用此信息来确定应删除哪些产品。
全索引确实可以解决问题,但是我需要检查应多久从索引中删除一次产品。
您好,您需要多长时间删除一次产品。 我的信念是您不必从基于PK的索引中删除。 您只需要进行完全重新索引。 希望这可以帮助。
嗨,
完全索引可以确保解决问题-但过程可能很漫长,因此并非在所有情况下都是最佳方法。 如果手动移除产品,Intercpetor可以很好地工作,而不是经常一个接一个地移除。 如果您有删除大量pf产品的批处理过程,则将更新发送到SOLR以逐一删除它们可能是性能问题。 您可能会考虑其他解决方案:-不要删除产品,而只是使它们不活动(使用现有产品或在产品级别上创建新字段)。 添加个性化功能将这些产品隐藏在前端应该相当容易。 然后扩展Job以便从SOLR中删除产品。 首先,它将提取适当的产品,然后在此过程结束时将其从数据库中删除。 这是一个很大的变化,因此再次不确定是否对您有效。
我的第二个想法是创建一个简单的项目,该项目将存储从系统中删除的产品的所有PK。 每次移除产品时,拦截器都会创建它们。 修改后的工作不会要求产品,而是要求这些新物品并使用它们中的PK。
最多设置5个标签!
您可以使用IndexerService方法,该方法可用于从索引类型中删除所选文档。 例如:void deleteTypeIndex(FacetSearchConfig arg0,IndexedType arg1,List arg2)抛出IndexerException;
这将不起作用。
您可以添加移除拦截器以拦截产品删除。
检测到删除后,st Solr删除作业将从Solr索引中删除该产品。
或者,您可以创建一个cron作业,以定期从Solr索引中获取所有文档ID,将它们与目录中的产品进行比较,然后删除孤立的文档。
索引每天更新几次,我不知道确切的时间间隔。
我考虑过要存储当前在solr索引中的所有PK(或每次查询solr),并使用此信息来确定应删除哪些产品。
全索引确实可以解决问题,但是我需要检查应多久从索引中删除一次产品。
您好,您需要多长时间删除一次产品。 我的信念是您不必从基于PK的索引中删除。 您只需要进行完全重新索引。 希望这可以帮助。
嗨,
完全索引可以确保解决问题-但过程可能很漫长,因此并非在所有情况下都是最佳方法。 如果手动移除产品,Intercpetor可以很好地工作,而不是经常一个接一个地移除。 如果您有删除大量pf产品的批处理过程,则将更新发送到SOLR以逐一删除它们可能是性能问题。 您可能会考虑其他解决方案:-不要删除产品,而只是使它们不活动(使用现有产品或在产品级别上创建新字段)。 添加个性化功能将这些产品隐藏在前端应该相当容易。 然后扩展Job以便从SOLR中删除产品。 首先,它将提取适当的产品,然后在此过程结束时将其从数据库中删除。 这是一个很大的变化,因此再次不确定是否对您有效。
我的第二个想法是创建一个简单的项目,该项目将存储从系统中删除的产品的所有PK。 每次移除产品时,拦截器都会创建它们。 修改后的工作不会要求产品,而是要求这些新物品并使用它们中的PK。
一周热门 更多>