diff --git a/docs/docs/core/flow_def.mdx b/docs/docs/core/flow_def.mdx index 5aaf6d54..88b0cee0 100644 --- a/docs/docs/core/flow_def.mdx +++ b/docs/docs/core/flow_def.mdx @@ -146,8 +146,9 @@ def demo_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.DataSco :::info -In live update mode, for each refresh, CocoIndex will traverse the data source to figure out the changes, +In live update mode, for each refresh, CocoIndex will list rows in the data source to figure out the changes based on metadata such as last modified time, and only perform transformations on changed source keys. +If nothing changed during the last refresh cycle, only list operations will be performed, which is usually cheap for most data sources. ::: diff --git a/docs/docs/core/flow_methods.mdx b/docs/docs/core/flow_methods.mdx index c52d6782..3235cd0a 100644 --- a/docs/docs/core/flow_methods.mdx +++ b/docs/docs/core/flow_methods.mdx @@ -105,7 +105,7 @@ A data source may enable one or multiple *change capture mechanisms*: * Configured with a [refresh interval](flow_def#refresh-interval), which is generally applicable to all data sources. * Specific data sources also provide their specific change capture mechanisms. - For example, [`GoogleDrive` source](../ops/sources#googledrive) allows polling recent modified files. + For example, [`AmazonS3` source](../ops/sources/#amazons3) watches S3 bucket's change events, and [`GoogleDrive` source](../ops/sources#googledrive) allows polling recent modified files. See documentations for specific data sources. Change capture mechanisms enable CocoIndex to continuously capture changes from the source data and update the target data accordingly, under live update mode.