AppEngine Java的重新索引任务/映射器/作业
有人知道可以用来重新索引所有/某些名称空间中的所有/某些实体的库或好的代码示例吗AppEngine Java的重新索引任务/映射器/作业,java,google-app-engine,indexing,mapreduce,objectify,Java,Google App Engine,Indexing,Mapreduce,Objectify,有人知道可以用来重新索引所有/某些名称空间中的所有/某些实体的库或好的代码示例吗 如果我自己实现这一点,MapReduce我应该考虑什么? “我需要重新编制索引?”感觉像是许多开发人员遇到的问题,但我能找到的最接近的问题是,这可能是一个好的开始 另一个选择是homebrewn解决方案,它使用任务队列来迭代数据存储名称空间和实体,但我不希望重新发明轮子,转而寻求一个健壮、经验证的解决方案 有哪些选择?恐怕我不知道有任何预建系统。我认为您基本上需要创建一个游标来遍历所有实体,然后对所有实体执行get
如果我自己实现这一点,MapReduce我应该考虑什么?
“我需要重新编制索引?”感觉像是许多开发人员遇到的问题,但我能找到的最接近的问题是,这可能是一个好的开始 另一个选择是homebrewn解决方案,它使用任务队列来迭代数据存储名称空间和实体,但我不希望重新发明轮子,转而寻求一个健壮、经验证的解决方案有哪些选择?恐怕我不知道有任何预建系统。我认为您基本上需要创建一个游标来遍历所有实体,然后对所有实体执行get和put操作(或者在执行put操作之前检查它们是否在索引中-如果您有一些不需要更新的实体,这将以读取和/或小操作为代价节省写入操作) 请遵循以下示例:
我需要一些时间来尝试一下。因此,您建议在不使用MapReduce的情况下使用自定义实现。这不正是MapReduce的作用域吗?MapReduce是否已经执行了此循环?这两种方法都存在问题。在我建议的方法中,你必须自己管理工作,这是一个随着任务规模而增长的问题。我猜,如果您要一次性索引一百万个实体,我的解决方案可能比处理Python/Java/Objectify索引问题更容易。关于索引内容的决定在Objectify中很容易传达,但我认为很难翻译成Python。