このように機能するように見えるインデックスを作成しています
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
現在、インデックスに変数と変数を追加していません。これmodified
は、インデックス(?)で特定のタイムスタンプを検索する場合など、インデックスでも役立ちます。これで、動作していることがわかります。多くの場合、インデックス変数に作用し、added
およびmodified
変数をインデックスに追加しますか?