我想知道如何基于插入的实体数量和信息量来估计App引擎搜索API(FTS)索引的增长(在一段时间内增加多少大小)。 为此,我想基本知道如何计算索引大小(取决于它取决于什么)。 特别:
谢谢。
您可以通过运行以下代码来检查给定索引的大小。
from google.appengine.api import search
for index in search.get_indexes(fetch_schema=True):
logging.info("index %s", index.storage_usage)
# pseudo code
amount_of_items_to_add = 100
x = 0
for x <= amount_of_items_to_add:
search_api_insert_insert(data)
x+=1
#rerun for loop to see how much the size increased
for index in search.get_indexes(fetch_schema=True):
logging.info("index %s", index.storage_usage)
这段代码显然不是一个完整的工作示例,但您应该能够构建一个简单的方法,将一些数据插入到搜索API中,并返回已用存储量的增加量。
我已经针对不同数量的实体和每个实体的不同数量的索引属性运行了多个测试,并且它接收到由api报告的索引的估计增长不是指数的线性。 但最有趣的事实是,尽管报告的大小几乎是实时的,但在从索引中删除文档后,更新可能需要12,24甚至36小时。