There is no single correct answer to this question. The optimal solution mainly depends on what percentage of your objects is likely to be in a remote state at any given time.
One option is to save the type field @Index(IfTrue.class) boolean active;and add this filter to all queries:
ofy.load().type(Thing.class).filter("size >", 20).filter("active", true)
The disadvantage of this is that it requires the addition of additional indexes - perhaps several, because now you may need indexes with several properties, in which indexes of one property are enough.
"deleted" . , , . , .
. , , , , : @Index Date deleted; filter("deleted", null) , datestamp, , , , . , , , , , . @Index(IfNull.class) Date deleted; map-reduce .