我正在构建看起来像这样工作的索引
doc = search.Document(doc_id=str(article.key()), fields=[
search.TextField(name='title', value=article.title),
search.TextField(name='text', value=article.text),
search.TextField(name='city', value=article.city),
search.TextField(name='region', value=article.region),
search.NumberField(name='cityID', value=city_entity.key().id()),
search.NumberField(name='regionID', value=region_entity.key().id()),
search.NumberField(name='category', value=int(article.category)),
search.NumberField(name='constant', value=1),
search.NumberField(name='articleID', value=article.key().id()),
search.TextField(name='name', value=article.name)
], language='en')
search.Index(name='article').add(doc)
该应用程序获得了一篇新文章,该文章通过上面似乎有效的代码填充了索引。索引已建立,我可以使用搜索 API 搜索实体。但是我不想要超过 60 天的旧文章,那么我该如何调整呢?实体有一个“创建”和“更新”时间戳:
added = db.DateTimeProperty(verbose_name='added', auto_now_add=True) # readonly
modified = db.DateTimeProperty(verbose_name='modified',
auto_now_add=True)
我应该每 24 小时有一个 cron 作业来重建整个索引,还是每 24 小时有一个 cron 作业从索引中删除最旧的实体?现在我没有将added
andmodified
变量添加到索引中,这在索引中也很有用,如果我想在索引中搜索某个时间戳(?),所以现在我看到它正在工作,我问我是否也多作用于索引变量并将added
和modified
变量添加到索引中?