search API会自动创建与模型对应的索引吗?

时间:2015-11-18 04:41:37

标签: google-app-engine gae-search

我最近创建了一些搜索文档,并使用以下内容将它们添加到自定义搜索索引中,该索引为模型类型生成每个用户的索引。

    def _post_put_hook(self, future):

    document = self.create_search_document()
    index = self.search_index
    index.put(document)

但是我注意到在管理面板中有一个我的模型类型的索引,似乎总是自动生成并添加到。这是对的吗?

Admin Panel: Full Text Search:图片显示顶部索引是我创建的索引,而底部索引是自动生成的。

如果是这样的话,当删除相应的实体时,如何清理添加到此文档中的文档? (我使用删除钩子清理自己的索引)。

1 个答案:

答案 0 :(得分:0)

不,Search API不会自动创建索引。

也许索引是在开发过程中创建的,即在某些时候,您的代码对这些索引使用了不同的名称模式。

在Google Cloud Developer控制台中,单击该索引。您应该能够在此索引中查看和搜索文档。如果它是空的,或者它有旧文件,那么我的理论就会解释这一点。

如果索引包含最新文档,可能有部分代码导致此行为,您只是不知道它。如果上面的代码是唯一一个将文档写入搜索的代码,那么您应该调查在处理请求期间是否重新定义了self.search_index

还有一点需要注意:

您可以删除Search API中索引中的所有文档,但不能删除索引本身(至少不是我上次检查文档时)。