我正在尝试使用Appengine Search API让用户查询多个数据集,每个数据集都有自己的架构。更具体地说:
用户可以访问多个数据集。每个数据集都有很多行。每个数据集都有一组列。每列都有名称和类型。跨数据集的列可能具有名称冲突,并且这些冲突可能具有不同的类型。
我希望用户能够通过一个查询搜索所有数据集到搜索API。如果我为每个数据集中的每一行创建一个文档,我怀疑当你获取每个数据集中所有字段的并集时,将有超过1000个不同的字段(其中一个字段=一列)。
我该如何解决这个问题?或者我是否必须构建多个索引(每个数据集一个)并发出多个请求?这些多个请求可以并行发生吗?这种方法的缺点/成本是什么?
答案 0 :(得分:0)
一个很好的起点是python documents,因为底层框架是相同的。虽然说YMMV在这里作为Java方面仍然是实验性的。
并非每条记录都必须与文档中的类型相同。您所需要的只是从document_id到您的对象的一种方式,因此< tableId>:< objectId>这里很好。但是,根据文档,
目前,每个给定的索引架构都有1000个命名字段。
所以这对你来说可能是一个问题。如果您不关心列的匹配,您只需将对象转换为具有单个字符串的文档,然后从那里进行文本搜索。然后一切都可以在一个列中。然后你可以得到你的< tableId>:< objectId>从document_id中获取数据存储区中的数据。