FullText搜索是否支持无模式索引?

时间:2012-09-06 06:56:24

标签: java google-app-engine full-text-search schema gae-search

我正在尝试使用Appengine Search API让用户查询多个数据集,每个数据集都有自己的架构。更具体地说:

用户可以访问多个数据集。每个数据集都有很多行。每个数据集都有一组列。每列都有名称和类型。跨数据集的列可能具有名称冲突,并且这些冲突可能具有不同的类型。

我希望用户能够通过一个查询搜索所有数据集到搜索API。如果我为每个数据集中的每一行创建一个文档,我怀疑当你获取每个数据集中所有字段的并集时,将有超过1000个不同的字段(其中一个字段=一列)。

我该如何解决这个问题?或者我是否必须构建多个索引(每个数据集一个)并发出多个请求?这些多个请求可以并行发生吗?这种方法的缺点/成本是什么?

1 个答案:

答案 0 :(得分:0)

一个很好的起点是python documents,因为底层框架是相同的。虽然说YMMV在这里作为Java方面仍然是实验性的。

并非每条记录都必须与文档中的类型相同。您所需要的只是从document_id到您的对象的一种方式,因此< tableId>:< objectId>这里很好。但是,根据文档,

  

目前,每个给定的索引架构都有1000个命名字段。

所以这对你来说可能是一个问题。如果您不关心列的匹配,您只需将对象转换为具有单个字符串的文档,然后从那里进行文本搜索。然后一切都可以在一个列中。然后你可以得到你的< tableId>:< objectId>从document_id中获取数据存储区中的数据。