Cosmos DB - 从索引中排除 _ts、_rid 和 _self 等系统属性是否安全?
Cosmos DB - Is it safe to exclude system attributes like _ts, _rid and _self from indexing?
当使用默认索引策略创建容器时,我注意到 _etag
会自动添加到排除的路径中,这是完全可以理解的,因为它是不透明的,你不应该构建任何应用程序逻辑关于它的价值。
_ts
、_rid
和 _self
等其他系统属性呢?
假设我永远不会查询这些属性中的任何一个,通过将这些属性添加到容器索引策略中的排除路径来将这些属性从索引中排除是否安全?
或者 Cosmos DB 引擎是否以某种方式在内部使用这些属性来实现高效查询或其他目的?
因此 _rid 和 _self 永远不会被编入索引,因此无需在您的索引策略中明确排除它们。
_ts 已编入索引,因此您可以根据需要明确排除那个 _etag,正如您提到的那样,它已为您排除。
有一个 属性 您不能排除,那就是 id。无论您是否愿意,这都会被编入索引,除非您完全关闭索引。
当使用默认索引策略创建容器时,我注意到 _etag
会自动添加到排除的路径中,这是完全可以理解的,因为它是不透明的,你不应该构建任何应用程序逻辑关于它的价值。
_ts
、_rid
和 _self
等其他系统属性呢?
假设我永远不会查询这些属性中的任何一个,通过将这些属性添加到容器索引策略中的排除路径来将这些属性从索引中排除是否安全?
或者 Cosmos DB 引擎是否以某种方式在内部使用这些属性来实现高效查询或其他目的?
因此 _rid 和 _self 永远不会被编入索引,因此无需在您的索引策略中明确排除它们。
_ts 已编入索引,因此您可以根据需要明确排除那个 _etag,正如您提到的那样,它已为您排除。
有一个 属性 您不能排除,那就是 id。无论您是否愿意,这都会被编入索引,除非您完全关闭索引。