【问题标题】:Does search API automatically create an index corresponding to model?搜索 API 会自动创建模型对应的索引吗?
【发布时间】:2015-11-18 04:41:36
【问题描述】:

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

    def _post_put_hook(self, future):

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

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

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

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

【问题讨论】:

    标签: google-app-engine gae-search


    【解决方案1】:

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

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

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

    如果索引包含最新的文档,则可能是您的代码的一部分导致了这种行为,而您只是没有意识到这一点。如果上面的代码是唯一将文档写入搜索的代码,那么您应该调查在处理请求期间是否以某种方式重新定义了 self.search_index

    还有一点:

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

    【讨论】:

    • 谢谢,我会再做一次审查,看看是否能发现可能发生的任何地方。它似乎只在第一次创建模型时发生,更新只会改变我的索引。至于您关于索引数量的注释,我在文档There is no limit to the number of documents in an index or the number of indexes you can use 中找到了这一行。也许它曾经是有限的?
    • 是的,确实,他们已经取消了对索引数量的限制。这很棒。我将更新我的答案以反映这一点。
    猜你喜欢
    • 1970-01-01
    • 2021-06-03
    • 2016-07-17
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    相关资源
    最近更新 更多