This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 3352ccea8c4 [fix](doc) fix broken anchor links on table-design and SQL 
reference pages (#3929)
3352ccea8c4 is described below

commit 3352ccea8c429963da7c97d337f69ccefde899ee
Author: Yongqiang YANG <[email protected]>
AuthorDate: Sat Jun 13 22:33:14 2026 -0700

    [fix](doc) fix broken anchor links on table-design and SQL reference pages 
(#3929)
    
    ## Purpose
    
    Several in-page anchor links pointed at headings that no longer exist
    (or were renamed), so the fragment never resolved. This repoints them to
    the current heading anchors. Found via a link check on the 4.x docs; the
    same broken anchors exist in the dev docs and older versioned docs, so
    all affected versions are fixed.
    
    ## Changes
    
    Per affected page (dev `docs/`, `version-4.x`, `version-3.x`,
    `version-2.1` as applicable):
    
    | Page | Old anchor | New anchor |
    |------|-----------|-----------|
    | `ALTER-TABLE-PROPERTY` | `CREATE-TABLE#properties` |
    `#table-property-related-parameters` |
    | `CREATE-TABLE` | `data-bucketing#manual-setting-bucket-count` |
    `#1-manually-set-the-number-of-buckets` (3.x/2.1:
    `#manually-setting-the-number-of-buckets`) |
    | `CREATE-TABLE` | `data-bucketing#automatic-setting-bucket-count` |
    `#2-automatically-set-the-number-of-buckets` (3.x/2.1:
    `#automatic-bucket-number-setting`) |
    | `CREATE-TABLE` |
    `update-of-unique-model#flexible-partial-column-updates` |
    `partial-column-update#flexible-column-update` (3.x:
    `#flexible-partial-column-updates`) |
    | `auto-partitioning` | `data-bucketing#auto-set-bucket-number` |
    `#2-automatically-set-the-number-of-buckets` |
    | `basic-concepts` | `auto-partitioning#using-with-dynamic-partition` |
    `#lifecycle-management` |
    | `data-type` | `data-type-overview#aggregate-types` |
    `#aggregation-types` |
    
    Older versions (`3.x`/`2.1`) use their own bucketing heading slugs, so
    the target anchors differ there. Each new anchor was verified against
    the actual heading in its target file.
    
    ## Versions changed
    
    - `docs/` (dev)
    - `versioned_docs/version-4.x`
    - `versioned_docs/version-3.x`
    - `versioned_docs/version-2.1`
    
    Only English docs are touched. No content changes, anchors only.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
 docs/admin-manual/auth/integrations/aws-iam-role.md                   | 2 +-
 .../memory-management/memory-analysis/query-memory-analysis.md        | 2 +-
 docs/ai/ai-overview.md                                                | 2 +-
 docs/data-operate/import/data-source/amazon-s3.md                     | 4 ++--
 docs/data-operate/import/data-source/bigquery.md                      | 2 +-
 docs/data-operate/import/data-source/snowflake.md                     | 4 ++--
 docs/data-operate/import/import-way/routine-load-manual.md            | 4 ++--
 docs/data-operate/import/import-way/stream-load-manual.md             | 4 ++--
 .../import/import-way/streaming-job/continuous-load-mysql-table.md    | 2 +-
 docs/data-operate/import/load-best-practices/load-best-practices.md   | 4 ++--
 docs/data-operate/transaction.md                                      | 2 +-
 docs/lakehouse/catalogs/iceberg-catalog.mdx                           | 2 +-
 docs/lakehouse/meta-cache.md                                          | 4 ++--
 docs/observability/log.md                                             | 2 +-
 .../sql-functions/scalar-functions/date-time-functions/utc-time.md    | 2 +-
 .../sql-functions/scalar-functions/other-functions/default.md         | 2 +-
 docs/sql-manual/sql-statements/data-modification/DML/UPDATE.md        | 2 +-
 .../sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md       | 2 +-
 docs/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md   | 4 ++--
 docs/table-design/data-partitioning/auto-partitioning.md              | 2 +-
 docs/table-design/data-partitioning/basic-concepts.mdx                | 2 +-
 docs/table-design/data-type.md                                        | 2 +-
 versioned_docs/version-2.1/data-operate/import/load-best-practices.md | 2 +-
 versioned_docs/version-2.1/data-operate/transaction.md                | 2 +-
 versioned_docs/version-2.1/lakehouse/catalogs/iceberg-catalog.mdx     | 2 +-
 .../materialized-view/async-materialized-view/faq.md                  | 4 ++--
 .../materialized-view/async-materialized-view/use-guide.md            | 2 +-
 .../sql-manual/sql-statements/data-modification/DML/UPDATE.md         | 2 +-
 .../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md    | 2 +-
 versioned_docs/version-2.1/table-design/overview.md                   | 2 +-
 .../version-3.x/data-operate/import/import-way/routine-load-manual.md | 2 +-
 versioned_docs/version-3.x/data-operate/import/load-best-practices.md | 2 +-
 versioned_docs/version-3.x/data-operate/transaction.md                | 2 +-
 versioned_docs/version-3.x/lakehouse/catalog-overview.md              | 4 ++--
 versioned_docs/version-3.x/lakehouse/catalogs/iceberg-catalog.mdx     | 2 +-
 .../materialized-view/async-materialized-view/faq.md                  | 4 ++--
 .../materialized-view/async-materialized-view/use-guide.md            | 2 +-
 .../sql-manual/sql-statements/data-modification/DML/UPDATE.md         | 2 +-
 .../sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md       | 2 +-
 .../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md    | 4 ++--
 .../version-3.x/table-design/data-partitioning/auto-partitioning.md   | 2 +-
 versioned_docs/version-3.x/table-design/overview.md                   | 2 +-
 .../version-4.x/admin-manual/auth/integrations/aws-iam-role.md        | 2 +-
 .../memory-management/memory-analysis/query-memory-analysis.md        | 2 +-
 versioned_docs/version-4.x/ai/ai-overview.md                          | 2 +-
 .../version-4.x/data-operate/import/data-source/amazon-s3.md          | 4 ++--
 .../version-4.x/data-operate/import/data-source/bigquery.md           | 2 +-
 .../version-4.x/data-operate/import/data-source/snowflake.md          | 4 ++--
 .../version-4.x/data-operate/import/import-way/routine-load-manual.md | 4 ++--
 .../version-4.x/data-operate/import/import-way/stream-load-manual.md  | 4 ++--
 .../import/import-way/streaming-job/continuous-load-mysql-table.md    | 2 +-
 .../data-operate/import/load-best-practices/load-best-practices.md    | 4 ++--
 versioned_docs/version-4.x/data-operate/transaction.md                | 2 +-
 versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx     | 2 +-
 versioned_docs/version-4.x/lakehouse/meta-cache.md                    | 4 ++--
 versioned_docs/version-4.x/observability/log.md                       | 2 +-
 .../sql-functions/scalar-functions/date-time-functions/utc-time.md    | 2 +-
 .../sql-functions/scalar-functions/other-functions/default.md         | 2 +-
 .../sql-manual/sql-statements/data-modification/DML/UPDATE.md         | 2 +-
 .../sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md       | 2 +-
 .../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md    | 4 ++--
 .../version-4.x/table-design/data-partitioning/auto-partitioning.md   | 2 +-
 .../version-4.x/table-design/data-partitioning/basic-concepts.mdx     | 2 +-
 versioned_docs/version-4.x/table-design/data-type.md                  | 2 +-
 64 files changed, 82 insertions(+), 82 deletions(-)

diff --git a/docs/admin-manual/auth/integrations/aws-iam-role.md 
b/docs/admin-manual/auth/integrations/aws-iam-role.md
index b32d3ca0217..6eb7e1d64c1 100644
--- a/docs/admin-manual/auth/integrations/aws-iam-role.md
+++ b/docs/admin-manual/auth/integrations/aws-iam-role.md
@@ -156,4 +156,4 @@ Key parameters:
 | `s3.external_id` | No | The externalId value configured in the Trust 
Relationships Policies |
 | `timeout` | No | Operation timeout, in seconds |
 
-For detailed usage of SQL statements for more features, see [AWS 
Authentication and 
Authorization](../../../admin-manual/auth/integrations/aws-authentication-and-authorization#assumed-role-authentication).
+For detailed usage of SQL statements for more features, see [AWS 
Authentication and 
Authorization](../../../admin-manual/auth/integrations/aws-authentication-and-authorization#assumed-role-authentication-and-authorization).
diff --git 
a/docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
 
b/docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
index 80d001a6024..604b1c32942 100644
--- 
a/docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
+++ 
b/docs/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
@@ -26,7 +26,7 @@ The memory statistics of historical queries can be viewed in 
`peakMemoryBytes` o
 
 ## Use Query Profile to analyze query memory usage
 
-Find query information including SQL in `fe/log/fe.audit.log` based on 
QueryID, get the query plan by `explain SQL`, and get the query profile by 
executing SQL after `set enable_profile=true`. For a detailed introduction to 
Query Profile, refer to the document [Query 
Profile](../../../../query-acceleration/performance-tuning-overview/analysis-tools#doris-profile).
 Here we only introduce the memory-related content in Query Profile, and locate 
the Operator and data structure that use a lot [...]
+Find query information including SQL in `fe/log/fe.audit.log` based on 
QueryID, get the query plan by `explain SQL`, and get the query profile by 
executing SQL after `set enable_profile=true`. For a detailed introduction to 
Query Profile, refer to the document [Query 
Profile](../../../../query-acceleration/performance-tuning-overview/analysis-tools#doris-profile-analyzing-execution-layer-bottlenecks).
 Here we only introduce the memory-related content in Query Profile, and locate 
the Oper [...]
 
 1. Locate Operators or memory data structures that use a lot of memory
 
diff --git a/docs/ai/ai-overview.md b/docs/ai/ai-overview.md
index a145274c359..ce24d30eb3d 100644
--- a/docs/ai/ai-overview.md
+++ b/docs/ai/ai-overview.md
@@ -30,7 +30,7 @@ The following table lists common AI scenarios and the 
corresponding capabilities
 | Let AI Agents query business data in real time | [Agent Facing 
Analytics](#agent-facing-analytics) | MPP architecture, millisecond-level 
queries, MCP Server |
 | Run keyword search, vector search, and aggregation on the same data | 
[Hybrid search and analytics](#hybrid-search-and-analytics-processing) | 
Inverted index + vector index + SQL |
 | Accelerate AI training data preparation and feature engineering | [Lakehouse 
for AI](#lakehouse-for-ai) | Lakehouse architecture, open table formats, fast 
SQL |
-| Build enterprise knowledge bases and intelligent customer service | [RAG 
applications](#ragretrieval-augmented-generation) | High-concurrency vector 
retrieval, hybrid search |
+| Build enterprise knowledge bases and intelligent customer service | [RAG 
applications](#rag-retrieval-augmented-generation) | High-concurrency vector 
retrieval, hybrid search |
 | Monitor model training and inference services | [AI 
Observability](#ai-observability) | High-throughput ingestion, inverted index, 
low storage cost |
 | Make search understand user intent | [Semantic search](#semantic-search) | 
HNSW/IVF, quantization, multimodal extensions |
 
diff --git a/docs/data-operate/import/data-source/amazon-s3.md 
b/docs/data-operate/import/data-source/amazon-s3.md
index 9db7d21a2e8..dd9a9ceb665 100644
--- a/docs/data-operate/import/data-source/amazon-s3.md
+++ b/docs/data-operate/import/data-source/amazon-s3.md
@@ -223,7 +223,7 @@ mysql> select * from test_s3load;
 
 <!-- Knowledge type: Configuration / Authentication -->
 
-In addition to using Access Key / Secret Key, Doris also supports 
authenticating S3 Load and TVF via `AWS Assume Role`. This is suitable for 
enterprises with restrictions on distributing credentials. For detailed 
configuration, see [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication).
+In addition to using Access Key / Secret Key, Doris also supports 
authenticating S3 Load and TVF via `AWS Assume Role`. This is suitable for 
enterprises with restrictions on distributing credentials. For detailed 
configuration, see [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication-and-authorization).
 
 ## FAQ
 
@@ -263,4 +263,4 @@ Increase `timeout` in `PROPERTIES` (in seconds) 
appropriately. The example uses
 ## Related documents
 
 - [Broker Load Manual](../import-way/broker-load-manual.md)
-- [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication)
+- [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication-and-authorization)
diff --git a/docs/data-operate/import/data-source/bigquery.md 
b/docs/data-operate/import/data-source/bigquery.md
index ed0c4954bac..2176f25b717 100644
--- a/docs/data-operate/import/data-source/bigquery.md
+++ b/docs/data-operate/import/data-source/bigquery.md
@@ -228,7 +228,7 @@ Reason: column_name[country], the length of input is too 
long than schema. first
 Reason: column_name[country], the length of input is too long than schema. 
first 32 bytes of input str: [Australia] schema length: 1; actual length: 9; . 
src line [];
 ```
 
-For data quality errors, if skipping some erroneous rows is acceptable, set 
the error tolerance ratio in the S3 Load `PROPERTIES`. For details on the 
parameters, see [Load configuration 
parameters](../../import/import-way/broker-load-manual.md#related-configurations).
+For data quality errors, if skipping some erroneous rows is acceptable, set 
the error tolerance ratio in the S3 Load `PROPERTIES`. For details on the 
parameters, see [Load configuration 
parameters](../../import/import-way/broker-load-manual.md#import-configuration-parameters).
 
 #### 3.4 Import data from multiple files
 
diff --git a/docs/data-operate/import/data-source/snowflake.md 
b/docs/data-operate/import/data-source/snowflake.md
index 17306ad476e..d6d61ca79a8 100644
--- a/docs/data-operate/import/data-source/snowflake.md
+++ b/docs/data-operate/import/data-source/snowflake.md
@@ -250,7 +250,7 @@ Reason: column_name[country], the length of input is too 
long than schema. first
 Reason: column_name[country], the length of input is too long than schema. 
first 32 bytes of input str: [Australia] schema length: 1;   actual length: 9; 
. src line [];
 ```
 
-For data quality errors, if some erroneous data is allowed to be skipped, you 
can set the error tolerance ratio in the `PROPERTIES` of the S3 Load job. For 
details, see [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#related-configurations).
+For data quality errors, if some erroneous data is allowed to be skipped, you 
can set the error tolerance ratio in the `PROPERTIES` of the S3 Load job. For 
details, see [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#import-configuration-parameters).
 
 #### 3.4 Batch Import Multiple Partitions
 
@@ -303,4 +303,4 @@ Doris does not have a type that fully corresponds to 
Snowflake's `TIME`. Therefo
 - [Azure Load](./azure-storage.md)
 - [TVF Load](./amazon-s3.md#method-2-load-with-tvf-synchronous)
 - [Load Best Practices](../load-best-practices/load-best-practices.md)
-- [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#related-configurations)
+- [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#import-configuration-parameters)
diff --git a/docs/data-operate/import/import-way/routine-load-manual.md 
b/docs/data-operate/import/import-way/routine-load-manual.md
index 398101f8c3e..f1197199910 100644
--- a/docs/data-operate/import/import-way/routine-load-manual.md
+++ b/docs/data-operate/import/import-way/routine-load-manual.md
@@ -451,7 +451,7 @@ The specific parameter options of the `job_properties` 
clause are as follows:
 | max_batch_rows | The maximum number of rows each subtask can read. Must be 
greater than or equal to 200000. The default is 20000000. `max_batch_interval`, 
`max_batch_rows`, and `max_batch_size` together form the subtask execution 
threshold. When any one of them is reached, the import subtask ends and a new 
subtask is generated. |
 | max_batch_size | The maximum number of bytes each subtask can read. The unit 
is bytes, the range is 100 MB to 1 GB, and the default is 1 GB. 
`max_batch_interval`, `max_batch_rows`, and `max_batch_size` together form the 
subtask execution threshold. When any one of them is reached, the import 
subtask ends and a new subtask is generated. |
 | max_error_number | The maximum number of error rows allowed within the 
sampling window. Must be greater than or equal to 0. The default is 0 (no error 
rows are allowed). The sampling window is `max_batch_rows * 10`. If the number 
of error rows in the sampling window exceeds `max_error_number`, the routine 
load job is paused. Manual intervention is required to check data quality 
issues. The data quality issues can be checked through the `ErrorLogUrls` field 
in the [SHOW ROUTINE LOAD](.. [...]
-| strict_mode | Whether to enable strict mode. Disabled by default. Strict 
mode means strict filtering of column type conversions during import. When 
enabled, if a non-null original data value becomes NULL after a column type 
conversion, it is filtered out.<p>Filtering policy:</p><p>- Strict Mode does 
not affect derived columns (those generated by function 
transformation).</p><p>- When a column type needs conversion, data of the wrong 
type is filtered out. You can view it in `ErrorLogUrl [...]
+| strict_mode | Whether to enable strict mode. Disabled by default. Strict 
mode means strict filtering of column type conversions during import. When 
enabled, if a non-null original data value becomes NULL after a column type 
conversion, it is filtered out.<p>Filtering policy:</p><p>- Strict Mode does 
not affect derived columns (those generated by function 
transformation).</p><p>- When a column type needs conversion, data of the wrong 
type is filtered out. You can view it in `ErrorLogUrl [...]
 | timezone | Specifies the timezone used by the import job. The default is the 
session's timezone parameter. This parameter affects the results of all 
timezone-related functions involved in the import. |
 | format | Specifies the format of the import data. The default is CSV. JSON 
format is supported. |
 | jsonpaths | When the import data format is JSON, you can use `jsonpaths` to 
specify the fields to extract from the JSON data. For example: `"jsonpaths" = 
"[\"$.userid\",\"$.username\",\"$.age\",\"$.city\"]"` |
@@ -460,7 +460,7 @@ The specific parameter options of the `job_properties` 
clause are as follows:
 | send_batch_parallelism | Sets the parallelism for sending batch data. If the 
parallelism value exceeds the BE configuration 
`max_send_batch_parallelism_per_job`, the BE acting as the coordinator uses the 
value of `max_send_batch_parallelism_per_job`. |
 | load_to_single_tablet | Supports importing data from a task into only one 
tablet of the corresponding partition. The default is false. This parameter can 
only be set when importing data into an OLAP table with random bucketing. |
 | partial_columns | Specifies whether to enable partial column update. The 
default is false. This parameter can only be set when the table model is Unique 
and uses Merge on Write. Single-stream multi-table imports do not support this 
parameter. For details, see [Partial Column 
Update](../../../data-operate/update/partial-column-update.md). |
-| unique_key_update_mode | Specifies the update mode of a Unique Key table. 
Options:<ul><li>`UPSERT` (default): standard whole-row insert or 
update.</li><li>`UPDATE_FIXED_COLUMNS`: partial column update where all rows 
update the same columns. Equivalent to 
`partial_columns=true`.</li><li>`UPDATE_FLEXIBLE_COLUMNS`: flexible partial 
column update where each row can update different columns. Requires JSON format 
and the table must have `enable_unique_key_skip_bitmap_column=true`. Cannot be  
[...]
+| unique_key_update_mode | Specifies the update mode of a Unique Key table. 
Options:<ul><li>`UPSERT` (default): standard whole-row insert or 
update.</li><li>`UPDATE_FIXED_COLUMNS`: partial column update where all rows 
update the same columns. Equivalent to 
`partial_columns=true`.</li><li>`UPDATE_FLEXIBLE_COLUMNS`: flexible partial 
column update where each row can update different columns. Requires JSON format 
and the table must have `enable_unique_key_skip_bitmap_column=true`. Cannot be  
[...]
 | partial_update_new_key_behavior | The handling of newly inserted rows when 
performing partial column updates on a Unique Merge on Write table. Two types: 
`APPEND` and `ERROR`.<br/>- `APPEND`: allow inserting new rows.<br/>- `ERROR`: 
when inserting a new row, the import fails and an error is reported. |
 | max_filter_ratio | The maximum filter ratio allowed within the sampling 
window. Must be greater than or equal to 0 and less than or equal to 1. The 
default value is 1.0, which means any error rows are tolerated. The sampling 
window is `max_batch_rows * 10`. If the number of error rows / total rows in 
the sampling window exceeds `max_filter_ratio`, the routine load job is paused. 
Manual intervention is required to check data quality issues. Rows filtered out 
by the where condition are n [...]
 | enclose | Specifies the enclosing character. When CSV data fields contain 
row separators or column separators, you can specify a single-byte character as 
the enclosing character to prevent unintended truncation. For example, if the 
column separator is `,` and the enclosing character is `'`, then for the data 
`a,'b,c'`, `b,c` is parsed as a single field. |
diff --git a/docs/data-operate/import/import-way/stream-load-manual.md 
b/docs/data-operate/import/import-way/stream-load-manual.md
index beb7f51831e..f75a963af5b 100644
--- a/docs/data-operate/import/import-way/stream-load-manual.md
+++ b/docs/data-operate/import/import-way/stream-load-manual.md
@@ -369,7 +369,7 @@ Import parameters can be passed through the HTTP Header. 
The parameters are desc
 | enclose                         | Specifies the enclosing character. When 
the CSV data fields contain line or column separators, you can specify a 
single-byte character as the enclosing character to prevent unintended 
truncation. For example, with the column separator `,` and the enclosing 
character `'`, given the data `"a,'b,c'"`, then `b,c` is parsed as one field. 
Note: when `enclose` is set to `"`, `trim_double_quotes` must be set to true. |
 | escape                          | Specifies the escape character. Used to 
escape characters in fields that are the same as the enclosing character. For 
example, with the data `"a,'b,'c'"` and the enclosing character `'`, to parse 
`b,'c` as one field, specify a single-byte escape character such as `\\` and 
modify the data to `"a,'b,\\'c'"`. |
 | memtable_on_sink_node           | Whether to enable MemTable forward when 
importing data. The default is false. |
-| unique_key_update_mode          | The update mode on a Unique table. 
Currently effective only for Merge-On-Write Unique tables. Three types are 
supported: `UPSERT`, `UPDATE_FIXED_COLUMNS`, and `UPDATE_FLEXIBLE_COLUMNS`. 
`UPSERT`: imports data with upsert semantics. `UPDATE_FIXED_COLUMNS`: imports 
data using [partial column 
update](../../../data-operate/update/partial-column-update.md#column-update-on-the-primary-key-model).
 `UPDATE_FLEXIBLE_COLUMNS`: imports data using [flexible partia [...]
+| unique_key_update_mode          | The update mode on a Unique table. 
Currently effective only for Merge-On-Write Unique tables. Three types are 
supported: `UPSERT`, `UPDATE_FIXED_COLUMNS`, and `UPDATE_FLEXIBLE_COLUMNS`. 
`UPSERT`: imports data with upsert semantics. `UPDATE_FIXED_COLUMNS`: imports 
data using [partial column 
update](../../../data-operate/update/partial-column-update.md#column-update-on-the-unique-key-model).
 `UPDATE_FLEXIBLE_COLUMNS`: imports data using [flexible partial [...]
 | partial_update_new_key_behavior | The way newly inserted rows are handled 
when performing partial column updates or flexible column updates on a Unique 
table. Two types are available: `APPEND` and `ERROR`.<br/>- `APPEND`: allows 
new rows to be inserted.<br/>- `ERROR`: import fails and reports an error when 
inserting a new row. |
 
 ### Import return value
@@ -1058,7 +1058,7 @@ Doris supports rich column transformation and filtering 
operations in import sta
 
 ### Enable strict mode for import
 
-The `strict_mode` property is used to set whether the import task runs in 
strict mode. This property affects the results of column mapping, 
transformation, and filtering. For more about strict mode, see the [Strict 
mode](../handling-messy-data#strict-mode) documentation.
+The `strict_mode` property is used to set whether the import task runs in 
strict mode. This property affects the results of column mapping, 
transformation, and filtering. For more about strict mode, see the [Strict 
mode](../handling-messy-data#strict-mode-strict_mode) documentation.
 
 ### Perform partial column update or flexible partial column update during 
import
 
diff --git 
a/docs/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
 
b/docs/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
index e0efb2224f6..01f010f9552 100644
--- 
a/docs/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
+++ 
b/docs/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
@@ -102,7 +102,7 @@ The MySQL data source parameters supported by CDC Stream 
TVF are as follows:
 | --------- | ------- | 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 |
 | session.* | None    | All session variables can be configured under 
`job_properties`. For import variables, see [Insert Into 
Select](../../../../data-operate/import/import-way/insert-into-manual.md#import-configuration-parameters)
 |
 
-For more general parameters (such as `max_interval`), see the [Continuous 
Import Overview](./continuous-load-overview.md#general-parameters).
+For more general parameters (such as `max_interval`), see the [Continuous 
Import Overview](./continuous-load-overview.md#common-parameters).
 
 ## FAQ
 
diff --git 
a/docs/data-operate/import/load-best-practices/load-best-practices.md 
b/docs/data-operate/import/load-best-practices/load-best-practices.md
index 9760c6a76d3..248babee156 100644
--- a/docs/data-operate/import/load-best-practices/load-best-practices.md
+++ b/docs/data-operate/import/load-best-practices/load-best-practices.md
@@ -116,7 +116,7 @@ When using Random bucketing, you can enable single-tablet 
load mode by setting `
 - Concentrating writes on a single Tablet reduces the generation of small 
Segment files and avoids the write amplification caused by frequent Compaction.
 - It significantly improves the concurrency and throughput of large-scale data 
load.
 
-For details, see [Random 
Bucketing](../../../table-design/data-partitioning/data-bucketing#random-bucketing).
+For details, see [Random 
Bucketing](../../../table-design/data-partitioning/data-bucketing#2-random-bucketing).
 
 ### Batching Strategy
 
@@ -162,7 +162,7 @@ Concurrency strategies vary by file type:
 - **Compressed files / Parquet / ORC files**: split into multiple smaller 
files before loading to enable concurrent loads.
 - **Uncompressed CSV and JSON files**: Doris automatically splits the files 
internally and loads them concurrently.
 
-For the concurrency strategy, see [Broker Load Configuration 
Parameters](../import-way/broker-load-manual#load-configuration-parameters).
+For the concurrency strategy, see [Broker Load Configuration 
Parameters](../import-way/broker-load-manual#import-configuration-parameters).
 
 ### Stream Load Concurrency
 
diff --git a/docs/data-operate/transaction.md b/docs/data-operate/transaction.md
index d0d6f472738..08bbd948365 100644
--- a/docs/data-operate/transaction.md
+++ b/docs/data-operate/transaction.md
@@ -52,7 +52,7 @@ A Label is typically set in the format `business logic + 
time`, such as `my_busi
 
 #### StreamLoad 2PC
 
-[StreamLoad 2PC](#stream-load) is mainly used to support EOS semantics when 
Flink writes to Doris.
+[StreamLoad 2PC](#stream-load-2pc) is mainly used to support EOS semantics 
when Flink writes to Doris.
 
 ## Explicit Transaction Operations
 
diff --git a/docs/lakehouse/catalogs/iceberg-catalog.mdx 
b/docs/lakehouse/catalogs/iceberg-catalog.mdx
index d7776fad973..23ea3ede66a 100644
--- a/docs/lakehouse/catalogs/iceberg-catalog.mdx
+++ b/docs/lakehouse/catalogs/iceberg-catalog.mdx
@@ -2760,7 +2760,7 @@ EXECUTE rewrite_data_files (
 1. The `rewrite_data_files` operation reads and rewrites data files, which 
incurs additional I/O and computing overhead. Please allocate cluster resources 
appropriately.
 2. Before execution, you can use SQL from the [View Data File 
Distribution](#view-data-file-distribution) section to evaluate whether 
rewriting is necessary
 3. WHERE conditions can be used to limit the partitions or data range for 
rewriting. This condition filters out files that don't contain data matching 
the WHERE condition, reducing the number of files and amount of data to rewrite
-4. Before execution, you can use SQL from the [Rewrite File Selection 
Logic](#rewrite-file-selection-logic) section to calculate which files will be 
rewritten
+4. Before execution, you can use SQL from the [Rewrite File Selection 
Logic](#rewrite_data_files-file-selection-strategy) section to calculate which 
files will be rewritten
 
 ### rewrite_manifests
 
diff --git a/docs/lakehouse/meta-cache.md b/docs/lakehouse/meta-cache.md
index 5a720093b96..2857dcd989c 100644
--- a/docs/lakehouse/meta-cache.md
+++ b/docs/lakehouse/meta-cache.md
@@ -207,7 +207,7 @@ Used to cache the file list information under a single 
partition of a Hive table
 ### Hudi Table Partitions
 
 Legacy summary of Hudi partition metadata caching.
-Current Hudi cache entries in Doris 4.1.x+ also include `fs_view` and 
`meta_client`; see [Hudi 
Catalog](./catalogs/hudi-catalog.md#meta-cache-unified).
+Current Hudi cache entries in Doris 4.1.x+ also include `fs_view` and 
`meta_client`; see [Hudi 
Catalog](./catalogs/hudi-catalog.md#meta-cache-unified-modules).
 
 This cache, each Hudi Catalog has one.
 
@@ -230,7 +230,7 @@ This cache, each Hudi Catalog has one.
 ### Iceberg Table Information
 
 Legacy summary of Iceberg table metadata caching. The table object is loaded 
and constructed through the Iceberg API.
-For Doris 4.1.x+, the current observable cache entries are documented in 
[Iceberg Catalog](./catalogs/iceberg-catalog.mdx#meta-cache-unified).
+For Doris 4.1.x+, the current observable cache entries are documented in 
[Iceberg Catalog](./catalogs/iceberg-catalog.mdx#meta-cache-unified-modules).
 
 This cache, each Iceberg Catalog has one.
 
diff --git a/docs/observability/log.md b/docs/observability/log.md
index 05f740f8f0b..20bec323ab2 100644
--- a/docs/observability/log.md
+++ b/docs/observability/log.md
@@ -258,7 +258,7 @@ Because both writes and queries on log data have distinct 
characteristics, follo
 
 **Partitioning**:
 
-- Use [Range 
partitioning](../table-design/data-partitioning/manual-partitioning.md#range-分区)
 on the time field (`PARTITION BY RANGE(ts)`) and enable [Dynamic 
partitioning](../table-design/data-partitioning/dynamic-partitioning) 
(`"dynamic_partition.enable" = "true"`) to manage daily partitions 
automatically.
+- Use [Range 
partitioning](../table-design/data-partitioning/manual-partitioning.md#range-partitioning)
 on the time field (`PARTITION BY RANGE(ts)`) and enable [Dynamic 
partitioning](../table-design/data-partitioning/dynamic-partitioning) 
(`"dynamic_partition.enable" = "true"`) to manage daily partitions 
automatically.
 - Use a `Datetime` time field as the key (`DUPLICATE KEY(ts)`); this provides 
a multi-fold speedup when querying the latest N logs.
 
 **Bucketing**:
diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
 
b/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
index 6eb4caf0ae0..15e2e9eb50a 100644
--- 
a/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
+++ 
b/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
@@ -26,7 +26,7 @@ UTC_TIME([<`precision`>])
 ## Return Value
 Returns the current UTC time.
 
-Return Time type (format: HH:mm:ss). When using the returned result for 
numerical operations, it will be converted to [integer 
format](../../../../sql-manual/basic-element/sql-data-types/conversion/int-conversion#from--time)
 (the time value elapsed since 00:00:00, unit in microseconds).
+Return Time type (format: HH:mm:ss). When using the returned result for 
numerical operations, it will be converted to [integer 
format](../../../../sql-manual/basic-element/sql-data-types/conversion/int-conversion#from-time)
 (the time value elapsed since 00:00:00, unit in microseconds).
 
 When the input is NULL or the precision is out of range, an error will be 
thrown.
 
diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/other-functions/default.md 
b/docs/sql-manual/sql-functions/scalar-functions/other-functions/default.md
index 1d7bd000cf5..4ad138f45f4 100644
--- a/docs/sql-manual/sql-functions/scalar-functions/other-functions/default.md
+++ b/docs/sql-manual/sql-functions/scalar-functions/other-functions/default.md
@@ -34,7 +34,7 @@ Special cases:
 - Only columns are allowed as input; if a constant (including NULL) or an 
expression is provided, an error is thrown
 - When the input is an auto-increment column or a generated column, an error 
is thrown
 
-[Doris-supported default value related 
parameters](../../../sql-statements/table-and-view/table/CREATE-TABLE.md#Column-Default-Value-Related-Parameters)
+[Doris-supported default value related 
parameters](../../../sql-statements/table-and-view/table/CREATE-TABLE.md#column-default-value-related-parameters)
 
 ## Examples
 
diff --git a/docs/sql-manual/sql-statements/data-modification/DML/UPDATE.md 
b/docs/sql-manual/sql-statements/data-modification/DML/UPDATE.md
index 7737e8a7eb8..594fdb6bc51 100644
--- a/docs/sql-manual/sql-statements/data-modification/DML/UPDATE.md
+++ b/docs/sql-manual/sql-statements/data-modification/DML/UPDATE.md
@@ -10,7 +10,7 @@
 
 This statement is used to update the data. The UPDATE statement currently only 
supports the UNIQUE KEY model.
 
-The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../connection-integration/data-integration/flink-doris-connector.md#use-flink-cdc-to-update-key-column).
+The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../connection-integration/data-integration/flink-doris-connector.md#updating-key-columns-with-flink-cdc).
 #### Syntax
 
 ```sql
diff --git 
a/docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md 
b/docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
index 201b9f160b7..9b72c275c79 100644
--- 
a/docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
+++ 
b/docs/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
@@ -14,7 +14,7 @@ Differences between Partition Attributes and Table Attributes
   - For not-created auto partitions, you can use ALTER TABLE {tableName} SET 
({key} = {value}) to modify their attributes.
   - If users want to modify partition attributes, they need to modify the 
attributes of the already created partitions, as well as the attributes of 
not-created partitions.
 - Aside from the above attributes, all others are at the table level.
-- For the specific attributes, please refer to [create table 
attributes](../../../../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md#properties)
+- For the specific attributes, please refer to [create table 
attributes](../../../../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md#table-property-related-parameters)
 :::
 
 ## Description
diff --git 
a/docs/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md 
b/docs/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
index 7ada5452dee..9a41f7a51a8 100644
--- a/docs/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
+++ b/docs/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
@@ -229,7 +229,7 @@ CREATE TABLE <new_table_name> LIKE <existing_table_name>
 
 **<distribute_cols> and <bucket_count>**
 
-> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#manual-setting-bucket-count)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#automatic-setting-bucket-count)
 sections.
+> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#1-manually-set-the-number-of-buckets)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#2-automatically-set-the-number-of-buckets)
 [...]
 
 ### Column Default Value Related Parameters
 
@@ -372,7 +372,7 @@ The functionality of creating synchronized materialized 
views with rollup is lim
 | group_commit_data_bytes | Configures the Group Commit batch data size for 
this table. The unit is bytes, with a default value of 134217728, i.e., 128MB. 
The timing of Group Commit depends on which of `group_commit_interval_ms` and 
`group_commit_data_bytes` reaches the set value first. |
 | enable_mow_light_delete | Whether to enable writing Delete predicate with 
Delete statements on Unique tables with Mow. If enabled, it will improve the 
performance of Delete statements, but partial column updates after Delete may 
result in some data errors. If disabled, it will reduce the performance of 
Delete statements to ensure correctness. The default value of this property is 
`false`. This property can only be enabled on Unique Merge-on-Write tables. |
 | Dynamic Partitioning Related Properties | For dynamic partitioning, refer to 
[Data Partitioning - Dynamic 
Partitioning](../../../../table-design/data-partitioning/dynamic-partitioning) |
-| enable_unique_key_skip_bitmap_column | Whether to enable the [Flexible 
Column Update 
feature](../../../../data-operate/update/update-of-unique-model.md#flexible-partial-column-updates)
 on Unique Merge-on-Write tables. This property can only be enabled on Unique 
Merge-on-Write tables. |
+| enable_unique_key_skip_bitmap_column | Whether to enable the [Flexible 
Column Update 
feature](../../../../data-operate/update/partial-column-update.md#flexible-column-update)
 on Unique Merge-on-Write tables. This property can only be enabled on Unique 
Merge-on-Write tables. |
 
 ## Access Control Requirements
 
diff --git a/docs/table-design/data-partitioning/auto-partitioning.md 
b/docs/table-design/data-partitioning/auto-partitioning.md
index 717c1ce4015..1a3c000d842 100644
--- a/docs/table-design/data-partitioning/auto-partitioning.md
+++ b/docs/table-design/data-partitioning/auto-partitioning.md
@@ -293,7 +293,7 @@ The remaining partition list:
 
 ## Used Together with Auto Bucketing
 
-Only AUTO RANGE PARTITION can be used together with the [auto 
bucketing](./data-bucketing.md#auto-set-bucket-number) feature.
+Only AUTO RANGE PARTITION can be used together with the [auto 
bucketing](./data-bucketing.md#2-automatically-set-the-number-of-buckets) 
feature.
 
 When using this combination, Doris assumes that data is loaded into the table 
incrementally in time order, and that each load involves only one partition. 
Therefore, **this combination is recommended only for tables loaded 
incrementally in batches**.
 
diff --git a/docs/table-design/data-partitioning/basic-concepts.mdx 
b/docs/table-design/data-partitioning/basic-concepts.mdx
index a0c7111cb81..1c11a1f64ee 100644
--- a/docs/table-design/data-partitioning/basic-concepts.mdx
+++ b/docs/table-design/data-partitioning/basic-concepts.mdx
@@ -252,7 +252,7 @@ PROPERTIES
 );
 ```
 
-For details about this feature, see [Using Auto Partition with Dynamic 
Partition](./auto-partitioning#using-with-dynamic-partition).
+For details about this feature, see [Using Auto Partition with Dynamic 
Partition](./auto-partitioning#lifecycle-management).
 
 </TabItem>
 
diff --git a/docs/table-design/data-type.md b/docs/table-design/data-type.md
index 544fa9d81b1..a4fe228ba9e 100644
--- a/docs/table-design/data-type.md
+++ b/docs/table-design/data-type.md
@@ -47,7 +47,7 @@ The list of data types supported by Apache Doris is as 
follows:
 | [JSON](../sql-manual/basic-element/sql-data-types/semi-structured/JSON)      
     | Variable     | Binary JSON type. It is stored in binary JSON format, and 
JSON internal fields are accessed via JSON functions. The length limit and 
configuration method are the same as for String. |
 | 
[VARIANT](../sql-manual/basic-element/sql-data-types/semi-structured/VARIANT)   
     | Variable     | Dynamically variable data type, designed for 
semi-structured data such as JSON. It can store any JSON, automatically 
splitting fields in the JSON into sub-columns for storage to improve storage 
efficiency and query analysis performance. The length limit and configuration 
method are the same as for String. The Variant type can only be used in Value 
columns, not in Key columns or partiti [...]
 
-### [Aggregate 
Types](../sql-manual/basic-element/sql-data-types/data-type-overview#aggregate-types)
+### [Aggregate 
Types](../sql-manual/basic-element/sql-data-types/data-type-overview#aggregation-types)
 
 | Type Name      | Storage Size (Bytes) | Description                          
                        |
 | -------------- | --------- | 
------------------------------------------------------------ |
diff --git 
a/versioned_docs/version-2.1/data-operate/import/load-best-practices.md 
b/versioned_docs/version-2.1/data-operate/import/load-best-practices.md
index b227d9aa21a..cc4eb425e18 100644
--- a/versioned_docs/version-2.1/data-operate/import/load-best-practices.md
+++ b/versioned_docs/version-2.1/data-operate/import/load-best-practices.md
@@ -37,7 +37,7 @@ Compressed files/Parquet/ORC files: It is recommended to 
split files into multip
 
 Uncompressed CSV and JSON files: Doris will automatically split files and load 
them concurrently.
 
-For concurrency strategies, please refer to: [Broker Load Configuration 
Parameters](./import-way/broker-load-manual#Related-Configurations)
+For concurrency strategies, please refer to: [Broker Load Configuration 
Parameters](./import-way/broker-load-manual#related-configurations)
 
 ## Stream Load Concurrency
 
diff --git a/versioned_docs/version-2.1/data-operate/transaction.md 
b/versioned_docs/version-2.1/data-operate/transaction.md
index 5eda0cb9d28..ba1a42cd753 100644
--- a/versioned_docs/version-2.1/data-operate/transaction.md
+++ b/versioned_docs/version-2.1/data-operate/transaction.md
@@ -56,7 +56,7 @@ Labels are usually set in the format of 
`business_logic+timestamp`, such as `my_
 
 #### StreamLoad 2PC
 
-[StreamLoad 2PC](#stream-load) is mainly used to support exactly-once 
semantics (EOS) when writing to Doris with Flink.
+[StreamLoad 2PC](#stream-load-2pc) is mainly used to support exactly-once 
semantics (EOS) when writing to Doris with Flink.
 
 ## Transaction Operations
 
diff --git a/versioned_docs/version-2.1/lakehouse/catalogs/iceberg-catalog.mdx 
b/versioned_docs/version-2.1/lakehouse/catalogs/iceberg-catalog.mdx
index ddc4744848d..a3115381ea9 100644
--- a/versioned_docs/version-2.1/lakehouse/catalogs/iceberg-catalog.mdx
+++ b/versioned_docs/version-2.1/lakehouse/catalogs/iceberg-catalog.mdx
@@ -2071,7 +2071,7 @@ EXECUTE rewrite_data_files (
 1. The `rewrite_data_files` operation reads and rewrites data files, which 
will generate additional I/O and computational overhead. Please allocate 
cluster resources reasonably.
 2. Before execution, you can use the SQL in the [View Data File 
Distribution](#view-data-file-distribution) section to evaluate whether a 
rewrite operation is needed
 3. The WHERE condition can be used to limit the partition or data range for 
rewriting. This condition will filter out files that do not contain data 
matching the WHERE condition, thereby reducing the number of files and amount 
of data to rewrite
-4. Before execution, you can use the SQL in the [Rewrite File Selection 
Logic](#rewrite-file-selection-logic) section to calculate which files will be 
rewritten
+4. Before execution, you can use the SQL in the [Rewrite File Selection 
Logic](#rewrite_data_files-file-selection-strategy) section to calculate which 
files will be rewritten
 
 ### cherrypick_snapshot
 
diff --git 
a/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/faq.md
 
b/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/faq.md
index 00f62670215..bd23adee1a7 100644
--- 
a/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/faq.md
+++ 
b/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/faq.md
@@ -297,7 +297,7 @@ Here's an example output:
 
 ### Q2: What Are the Reasons for a Materialized View Not Hitting?
 
-First, to confirm if a materialized view hits, execute the following SQL 
(refer to [Queries and Transparent Rewriting - 
Q1](#q1-how-does-doris-determine-which-partitions-need-to-be-refreshed-for-a-materialized-view)
 for details):
+First, to confirm if a materialized view hits, execute the following SQL 
(refer to [Queries and Transparent Rewriting - 
Q1](#q1-how-to-confirm-if-a-materialized-view-hits-and-how-to-find-the-reasons-for-non-hits)
 for details):
 
 ```Plain
 explain
@@ -310,7 +310,7 @@ If there is no hit, the following reasons may apply:
 
 - The materialized view may be in an unusable state, preventing transparent 
rewriting from hitting it. To view the build status of the materialized view, 
refer to the section on viewing materialized view status.
 
-- If, after checking the first two steps, the materialized view still does not 
hit, it may be because SQL defines the materialized view and the query SQL is 
outside the current rewriting capabilities of the materialized view. Refer to 
the [Materialized View Transparent Rewriting 
Capabilities](../../../query-acceleration/materialized-view/async-materialized-view/functions-and-demands#transparent-rewriting-capability)
 for details.
+- If, after checking the first two steps, the materialized view still does not 
hit, it may be because SQL defines the materialized view and the query SQL is 
outside the current rewriting capabilities of the materialized view. Refer to 
the [Materialized View Transparent Rewriting 
Capabilities](../../../query-acceleration/materialized-view/async-materialized-view/functions-and-demands#transparent-query-rewriting)
 for details.
 
 - For detailed information and explanations on failed hits, refer to [Appendix 
1](#reference).
 
diff --git 
a/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/use-guide.md
 
b/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/use-guide.md
index d07c39c829d..2d1966d85bc 100644
--- 
a/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/use-guide.md
+++ 
b/versioned_docs/version-2.1/query-acceleration/materialized-view/async-materialized-view/use-guide.md
@@ -47,7 +47,7 @@ If partitioned materialized views cannot be constructed, you 
can consider choosi
 
 ## Common Usage of Partitioned Materialized Views
 
-When the materialized view's base table data volume is large and the base 
table is a partitioned table, if the materialized view's definition SQL and 
partition fields meet the requirements of partition derivation, this scenario 
is suitable for building partitioned materialized views. For detailed 
requirements of partition derivation, refer to 
[CREATE-ASYNC-MATERIALIZED-VIEW](../../../sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW#optional-
 [...]
+When the materialized view's base table data volume is large and the base 
table is a partitioned table, if the materialized view's definition SQL and 
partition fields meet the requirements of partition derivation, this scenario 
is suitable for building partitioned materialized views. For detailed 
requirements of partition derivation, refer to 
[CREATE-ASYNC-MATERIALIZED-VIEW](../../../sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW#optional-
 [...]
 
 The materialized view's partitions are created following the base table's 
partition mapping, generally having a 1:1 or 1:n relationship with the base 
table's partitions.
 
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-statements/data-modification/DML/UPDATE.md
 
b/versioned_docs/version-2.1/sql-manual/sql-statements/data-modification/DML/UPDATE.md
index a2b0535706a..10f8e9236b7 100644
--- 
a/versioned_docs/version-2.1/sql-manual/sql-statements/data-modification/DML/UPDATE.md
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-statements/data-modification/DML/UPDATE.md
@@ -10,7 +10,7 @@
 
 This statement is used to update the data. The UPDATE statement currently only 
supports the UNIQUE KEY model.
 
-The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../ecosystem/flink-doris-connector.md#use-flink-cdc-to-update-key-column).
+The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../ecosystem/flink-doris-connector.md#flinkcdc-updates-key-columns).
 
 #### Syntax
 
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
 
b/versioned_docs/version-2.1/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
index 8ea5f289778..2a5485611dd 100644
--- 
a/versioned_docs/version-2.1/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
@@ -224,7 +224,7 @@ CREATE TABLE <new_table_name> LIKE <existing_table_name>
 
 **<distribute_cols> and <bucket_count>**
 
-> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#manual-setting-bucket-count)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#automatic-setting-bucket-count)
 sections.
+> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#manually-setting-the-number-of-buckets)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#automatic-bucket-number-setting)
 sections.
 
 ### Column Default Value Related Parameters
 
diff --git a/versioned_docs/version-2.1/table-design/overview.md 
b/versioned_docs/version-2.1/table-design/overview.md
index 7744ff9f9e3..7ef36436135 100644
--- a/versioned_docs/version-2.1/table-design/overview.md
+++ b/versioned_docs/version-2.1/table-design/overview.md
@@ -19,7 +19,7 @@ In Doris, table names are case-sensitive by default. You can 
configure [lower_ca
 
 ## Table property
 
-In Doris, the CREATE TABLE statement can specify [table 
properties](../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE#properties),
 including:
+In Doris, the CREATE TABLE statement can specify [table 
properties](../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE#table-property-related-parameters),
 including:
 
 - **buckets**: Determines the distribution of data within the table.
 
diff --git 
a/versioned_docs/version-3.x/data-operate/import/import-way/routine-load-manual.md
 
b/versioned_docs/version-3.x/data-operate/import/import-way/routine-load-manual.md
index f0b65925ea8..7e858f4a2d1 100644
--- 
a/versioned_docs/version-3.x/data-operate/import/import-way/routine-load-manual.md
+++ 
b/versioned_docs/version-3.x/data-operate/import/import-way/routine-load-manual.md
@@ -420,7 +420,7 @@ Specific parameter options for the job_properties clause 
are as follows:
 | send_batch_parallelism    | Used to set the parallelism for sending batch 
data. If the parallelism value exceeds `max_send_batch_parallelism_per_job` in 
the BE configuration, the BE serving as coordinator will use the value of 
`max_send_batch_parallelism_per_job`. |
 | load_to_single_tablet     | Supports importing data to only one tablet of 
the corresponding partition per task. Default value is false. This parameter is 
only allowed when importing data to olap tables with random bucketing. |
 | partial_columns           | Specifies whether to enable partial column 
update. Default value is false. This parameter is only allowed when the table 
model is Unique and uses Merge on Write. Multi-table streaming does not support 
this parameter. For details, refer to [Partial Column 
Update](../../../data-operate/update/partial-column-update.md) |
-| unique_key_update_mode    | Specifies the update mode for Unique Key tables. 
Optional values: <ul><li>`UPSERT` (default): Standard full-row insert or update 
operation.</li><li>`UPDATE_FIXED_COLUMNS`: Partial column update, all rows 
update the same columns. Equivalent to 
`partial_columns=true`.</li><li>`UPDATE_FLEXIBLE_COLUMNS`: Flexible partial 
column update, each row can update different columns. Requires JSON format and 
table must have `enable_unique_key_skip_bitmap_column=true`. Can [...]
+| unique_key_update_mode    | Specifies the update mode for Unique Key tables. 
Optional values: <ul><li>`UPSERT` (default): Standard full-row insert or update 
operation.</li><li>`UPDATE_FIXED_COLUMNS`: Partial column update, all rows 
update the same columns. Equivalent to 
`partial_columns=true`.</li><li>`UPDATE_FLEXIBLE_COLUMNS`: Flexible partial 
column update, each row can update different columns. Requires JSON format and 
table must have `enable_unique_key_skip_bitmap_column=true`. Can [...]
 | partial_update_new_key_behavior | Handling method for newly inserted rows 
when performing partial column updates on Unique Merge on Write tables. Two 
types: `APPEND`, `ERROR`.<br/>- `APPEND`: Allow insertion of new row data<br/>- 
`ERROR`: Import fails and reports an error when inserting new rows |
 | max_filter_ratio          | Maximum allowed filtering rate within the 
sampling window. Must be between greater than or equal to 0 and less than or 
equal to 1. Default value is 1.0, meaning any error rows can be tolerated. The 
sampling window is `max_batch_rows * 10`. If the error rows/total rows in the 
sampling window is greater than `max_filter_ratio`, the routine job will be 
paused, requiring manual intervention to check data quality issues. Rows 
filtered by where conditions are not  [...]
 | enclose                   | Specifies the enclosing character. When CSV data 
fields contain row or column separators, a single-byte character can be 
specified as an enclosing character for protection. For example, if the column 
separator is "," and the enclosing character is "'", for data "a,'b,c'", "b,c" 
will be parsed as one field. |
diff --git 
a/versioned_docs/version-3.x/data-operate/import/load-best-practices.md 
b/versioned_docs/version-3.x/data-operate/import/load-best-practices.md
index b227d9aa21a..cc4eb425e18 100644
--- a/versioned_docs/version-3.x/data-operate/import/load-best-practices.md
+++ b/versioned_docs/version-3.x/data-operate/import/load-best-practices.md
@@ -37,7 +37,7 @@ Compressed files/Parquet/ORC files: It is recommended to 
split files into multip
 
 Uncompressed CSV and JSON files: Doris will automatically split files and load 
them concurrently.
 
-For concurrency strategies, please refer to: [Broker Load Configuration 
Parameters](./import-way/broker-load-manual#Related-Configurations)
+For concurrency strategies, please refer to: [Broker Load Configuration 
Parameters](./import-way/broker-load-manual#related-configurations)
 
 ## Stream Load Concurrency
 
diff --git a/versioned_docs/version-3.x/data-operate/transaction.md 
b/versioned_docs/version-3.x/data-operate/transaction.md
index a56a7b7edc3..8d6c7b1c1f1 100644
--- a/versioned_docs/version-3.x/data-operate/transaction.md
+++ b/versioned_docs/version-3.x/data-operate/transaction.md
@@ -55,7 +55,7 @@ Labels are usually set in the format of 
`business_logic+timestamp`, such as `my_
 
 #### StreamLoad 2PC
 
-[StreamLoad 2PC](#stream-load) is mainly used to support exactly-once 
semantics (EOS) when writing to Doris with Flink.
+[StreamLoad 2PC](#stream-load-2pc) is mainly used to support exactly-once 
semantics (EOS) when writing to Doris with Flink.
 
 ## Transaction Operations
 
diff --git a/versioned_docs/version-3.x/lakehouse/catalog-overview.md 
b/versioned_docs/version-3.x/lakehouse/catalog-overview.md
index 2b9d5a88def..d00c7a18d5b 100644
--- a/versioned_docs/version-3.x/lakehouse/catalog-overview.md
+++ b/versioned_docs/version-3.x/lakehouse/catalog-overview.md
@@ -53,8 +53,8 @@ In addition to the property set specific to each data 
catalog, this section intr
 | `include_database_list` | Specifies multiple databases to synchronize, 
separated by `,`. By default, all databases are synchronized. Database names 
are case-sensitive. When the external data source has a large number of 
databases but only a few need to be accessed, this parameter can be used to 
avoid synchronizing a large amount of metadata. | `'include_database_list' = 
'db1,db2'` |
 | `exclude_database_list` | Specifies multiple databases to exclude from 
synchronization, separated by `,`. By default, no filtering is applied and all 
databases are synchronized. Database names are case-sensitive. Applicable to 
the same scenario as above, but for inversely excluding databases that do not 
need to be accessed. In case of conflict, `exclude` takes precedence over 
`include`. | `'exclude_database_list' = 'db1,db2'` |
 | `include_table_list` | Specifies multiple tables to synchronize, in `db.tbl` 
format, separated by `,`. When set, listing tables under a database will only 
return the specified tables, rather than fetching the full table list from the 
remote metadata service. Applicable when the external data source has a large 
number of tables and fetching the full table list may time out. | 
`'include_table_list' = 'db1.tbl1,db1.tbl2,db2.tbl3'` |
-| `lower_case_table_names` | Catalog-level table name case control. See the 
[Table Name Case 
Sensitivity](#table-name-case-sensitivity-lower_case_table_names) section below 
for values and their meanings. The default value inherits from the global 
variable `lower_case_table_names`. | `'lower_case_table_names' = '1'` |
-| `lower_case_database_names` | Catalog-level database name case control. See 
the [Database Name Case 
Sensitivity](#database-name-case-sensitivity-lower_case_database_names) section 
below for values and their meanings. The default value is `0` (case-sensitive). 
| `'lower_case_database_names' = '2'` |
+| `lower_case_table_names` | Catalog-level table name case control. See the 
[Table Name Case Sensitivity](#table-name-case-sensitivity) section below for 
values and their meanings. The default value inherits from the global variable 
`lower_case_table_names`. | `'lower_case_table_names' = '1'` |
+| `lower_case_database_names` | Catalog-level database name case control. See 
the [Database Name Case Sensitivity](#database-name-case-sensitivity) section 
below for values and their meanings. The default value is `0` (case-sensitive). 
| `'lower_case_database_names' = '2'` |
 
 ### Specifying Table List
 
diff --git a/versioned_docs/version-3.x/lakehouse/catalogs/iceberg-catalog.mdx 
b/versioned_docs/version-3.x/lakehouse/catalogs/iceberg-catalog.mdx
index d4a665537ff..c0fd3d23bc0 100644
--- a/versioned_docs/version-3.x/lakehouse/catalogs/iceberg-catalog.mdx
+++ b/versioned_docs/version-3.x/lakehouse/catalogs/iceberg-catalog.mdx
@@ -2744,7 +2744,7 @@ EXECUTE rewrite_data_files (
 1. The `rewrite_data_files` operation reads and rewrites data files, which 
incurs additional I/O and computing overhead. Please allocate cluster resources 
appropriately.
 2. Before execution, you can use SQL from the [View Data File 
Distribution](#view-data-file-distribution) section to evaluate whether 
rewriting is necessary
 3. WHERE conditions can be used to limit the partitions or data range for 
rewriting. This condition filters out files that don't contain data matching 
the WHERE condition, reducing the number of files and amount of data to rewrite
-4. Before execution, you can use SQL from the [Rewrite File Selection 
Logic](#rewrite-file-selection-logic) section to calculate which files will be 
rewritten
+4. Before execution, you can use SQL from the [Rewrite File Selection 
Logic](#rewrite_data_files-file-selection-strategy) section to calculate which 
files will be rewritten
 
 ### rewrite_manifests
 
diff --git 
a/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/faq.md
 
b/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/faq.md
index 00f62670215..bd23adee1a7 100644
--- 
a/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/faq.md
+++ 
b/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/faq.md
@@ -297,7 +297,7 @@ Here's an example output:
 
 ### Q2: What Are the Reasons for a Materialized View Not Hitting?
 
-First, to confirm if a materialized view hits, execute the following SQL 
(refer to [Queries and Transparent Rewriting - 
Q1](#q1-how-does-doris-determine-which-partitions-need-to-be-refreshed-for-a-materialized-view)
 for details):
+First, to confirm if a materialized view hits, execute the following SQL 
(refer to [Queries and Transparent Rewriting - 
Q1](#q1-how-to-confirm-if-a-materialized-view-hits-and-how-to-find-the-reasons-for-non-hits)
 for details):
 
 ```Plain
 explain
@@ -310,7 +310,7 @@ If there is no hit, the following reasons may apply:
 
 - The materialized view may be in an unusable state, preventing transparent 
rewriting from hitting it. To view the build status of the materialized view, 
refer to the section on viewing materialized view status.
 
-- If, after checking the first two steps, the materialized view still does not 
hit, it may be because SQL defines the materialized view and the query SQL is 
outside the current rewriting capabilities of the materialized view. Refer to 
the [Materialized View Transparent Rewriting 
Capabilities](../../../query-acceleration/materialized-view/async-materialized-view/functions-and-demands#transparent-rewriting-capability)
 for details.
+- If, after checking the first two steps, the materialized view still does not 
hit, it may be because SQL defines the materialized view and the query SQL is 
outside the current rewriting capabilities of the materialized view. Refer to 
the [Materialized View Transparent Rewriting 
Capabilities](../../../query-acceleration/materialized-view/async-materialized-view/functions-and-demands#transparent-query-rewriting)
 for details.
 
 - For detailed information and explanations on failed hits, refer to [Appendix 
1](#reference).
 
diff --git 
a/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/use-guide.md
 
b/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/use-guide.md
index d07c39c829d..2d1966d85bc 100644
--- 
a/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/use-guide.md
+++ 
b/versioned_docs/version-3.x/query-acceleration/materialized-view/async-materialized-view/use-guide.md
@@ -47,7 +47,7 @@ If partitioned materialized views cannot be constructed, you 
can consider choosi
 
 ## Common Usage of Partitioned Materialized Views
 
-When the materialized view's base table data volume is large and the base 
table is a partitioned table, if the materialized view's definition SQL and 
partition fields meet the requirements of partition derivation, this scenario 
is suitable for building partitioned materialized views. For detailed 
requirements of partition derivation, refer to 
[CREATE-ASYNC-MATERIALIZED-VIEW](../../../sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW#optional-
 [...]
+When the materialized view's base table data volume is large and the base 
table is a partitioned table, if the materialized view's definition SQL and 
partition fields meet the requirements of partition derivation, this scenario 
is suitable for building partitioned materialized views. For detailed 
requirements of partition derivation, refer to 
[CREATE-ASYNC-MATERIALIZED-VIEW](../../../sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW#optional-
 [...]
 
 The materialized view's partitions are created following the base table's 
partition mapping, generally having a 1:1 or 1:n relationship with the base 
table's partitions.
 
diff --git 
a/versioned_docs/version-3.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
 
b/versioned_docs/version-3.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
index a900a19db72..a494c221ecd 100644
--- 
a/versioned_docs/version-3.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
+++ 
b/versioned_docs/version-3.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
@@ -10,7 +10,7 @@
 
 This statement is used to update the data. The UPDATE statement currently only 
supports the UNIQUE KEY model.
 
-The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../ecosystem/flink-doris-connector.md#use-flink-cdc-to-update-key-column).
+The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../ecosystem/flink-doris-connector.md#flinkcdc-updates-key-columns).
 #### Syntax
 
 ```sql
diff --git 
a/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
 
b/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
index 50bb48b7b11..4da7d8c1f2d 100644
--- 
a/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
+++ 
b/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
@@ -14,7 +14,7 @@ Differences between Partition Attributes and Table Attributes
   - For not-created auto partitions, you can use ALTER TABLE {tableName} SET 
({key} = {value}) to modify their attributes.
   - If users want to modify partition attributes, they need to modify the 
attributes of the already created partitions, as well as the attributes of 
not-created partitions.
 - Aside from the above attributes, all others are at the table level.
-- For the specific attributes, please refer to [create table 
attributes](../../../../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md#properties)
+- For the specific attributes, please refer to [create table 
attributes](../../../../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md#table-property-related-parameters)
 :::
 
 ## Description
diff --git 
a/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
 
b/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
index 449b4b56e3a..6ece9fb516e 100644
--- 
a/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
+++ 
b/versioned_docs/version-3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
@@ -225,7 +225,7 @@ CREATE TABLE <new_table_name> LIKE <existing_table_name>
 
 **<distribute_cols> and <bucket_count>**
 
-> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#manual-setting-bucket-count)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#automatic-setting-bucket-count)
 sections.
+> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#manually-setting-the-number-of-buckets)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#automatic-bucket-number-setting)
 sections.
 
 ### Column Default Value Related Parameters
 
@@ -369,7 +369,7 @@ The functionality of creating synchronized materialized 
views with rollup is lim
 | group_commit_data_bytes | Configures the Group Commit batch data size for 
this table. The unit is bytes, with a default value of 134217728, i.e., 128MB. 
The timing of Group Commit depends on which of `group_commit_interval_ms` and 
`group_commit_data_bytes` reaches the set value first. |
 | enable_mow_light_delete | Whether to enable writing Delete predicate with 
Delete statements on Unique tables with Mow. If enabled, it will improve the 
performance of Delete statements, but partial column updates after Delete may 
result in some data errors. If disabled, it will reduce the performance of 
Delete statements to ensure correctness. The default value of this property is 
`false`. This property can only be enabled on Unique Merge-on-Write tables. |
 | Dynamic Partitioning Related Properties | For dynamic partitioning, refer to 
[Data Partitioning - Dynamic 
Partitioning](../../../../table-design/data-partitioning/dynamic-partitioning) |
-| enable_unique_key_skip_bitmap_column | Whether to enable the [Flexible 
Column Update 
feature](../../../../data-operate/update/update-of-unique-model.md#flexible-partial-column-updates)
 on Unique Merge-on-Write tables. This property can only be enabled on Unique 
Merge-on-Write tables. (Supported since version 3.1.0) |
+| enable_unique_key_skip_bitmap_column | Whether to enable the [Flexible 
Column Update 
feature](../../../../data-operate/update/partial-column-update.md#flexible-partial-column-updates)
 on Unique Merge-on-Write tables. This property can only be enabled on Unique 
Merge-on-Write tables. (Supported since version 3.1.0) |
 
 
 ## Access Control Requirements
diff --git 
a/versioned_docs/version-3.x/table-design/data-partitioning/auto-partitioning.md
 
b/versioned_docs/version-3.x/table-design/data-partitioning/auto-partitioning.md
index b2b299155bf..0b96cc69e3f 100644
--- 
a/versioned_docs/version-3.x/table-design/data-partitioning/auto-partitioning.md
+++ 
b/versioned_docs/version-3.x/table-design/data-partitioning/auto-partitioning.md
@@ -267,7 +267,7 @@ In some early versions prior to 2.1.7, this feature was not 
disabled but not rec
 This feature has been working normally since Doris 3.1.2
 :::
 
-Only AUTO RANGE PARTITION can be used together with the [Auto 
Bucket](./data-bucketing.md#auto-setting-bucket-number) feature. When using 
this feature, Doris assumes that the data import is incremental in time order, 
and each import only involves one partition. In other words, this usage is only 
recommended for tables that are incrementally imported batch by batch.
+Only AUTO RANGE PARTITION can be used together with the [Auto 
Bucket](./data-bucketing.md#automatic-bucket-number-setting) feature. When 
using this feature, Doris assumes that the data import is incremental in time 
order, and each import only involves one partition. In other words, this usage 
is only recommended for tables that are incrementally imported batch by batch.
 
 :::warning Note!
 If the data import method does not conform to the above pattern, and both auto 
partitioning and auto bucketing are used at the same time, there is a 
possibility that the number of buckets in the new partition is extremely 
unreasonable, which may greatly affect query performance.
diff --git a/versioned_docs/version-3.x/table-design/overview.md 
b/versioned_docs/version-3.x/table-design/overview.md
index 2dbbedf2041..6413191d199 100644
--- a/versioned_docs/version-3.x/table-design/overview.md
+++ b/versioned_docs/version-3.x/table-design/overview.md
@@ -19,7 +19,7 @@ In Doris, table names are case-sensitive by default. You can 
configure [lower_ca
 
 ## Table property
 
-In Doris, the CREATE TABLE statement can specify [table 
properties](../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE#properties),
 including:
+In Doris, the CREATE TABLE statement can specify [table 
properties](../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE#table-property-related-parameters),
 including:
 
 - **buckets**: Determines the distribution of data within the table.
 
diff --git 
a/versioned_docs/version-4.x/admin-manual/auth/integrations/aws-iam-role.md 
b/versioned_docs/version-4.x/admin-manual/auth/integrations/aws-iam-role.md
index b32d3ca0217..6eb7e1d64c1 100644
--- a/versioned_docs/version-4.x/admin-manual/auth/integrations/aws-iam-role.md
+++ b/versioned_docs/version-4.x/admin-manual/auth/integrations/aws-iam-role.md
@@ -156,4 +156,4 @@ Key parameters:
 | `s3.external_id` | No | The externalId value configured in the Trust 
Relationships Policies |
 | `timeout` | No | Operation timeout, in seconds |
 
-For detailed usage of SQL statements for more features, see [AWS 
Authentication and 
Authorization](../../../admin-manual/auth/integrations/aws-authentication-and-authorization#assumed-role-authentication).
+For detailed usage of SQL statements for more features, see [AWS 
Authentication and 
Authorization](../../../admin-manual/auth/integrations/aws-authentication-and-authorization#assumed-role-authentication-and-authorization).
diff --git 
a/versioned_docs/version-4.x/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
 
b/versioned_docs/version-4.x/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
index 80d001a6024..604b1c32942 100644
--- 
a/versioned_docs/version-4.x/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
+++ 
b/versioned_docs/version-4.x/admin-manual/trouble-shooting/memory-management/memory-analysis/query-memory-analysis.md
@@ -26,7 +26,7 @@ The memory statistics of historical queries can be viewed in 
`peakMemoryBytes` o
 
 ## Use Query Profile to analyze query memory usage
 
-Find query information including SQL in `fe/log/fe.audit.log` based on 
QueryID, get the query plan by `explain SQL`, and get the query profile by 
executing SQL after `set enable_profile=true`. For a detailed introduction to 
Query Profile, refer to the document [Query 
Profile](../../../../query-acceleration/performance-tuning-overview/analysis-tools#doris-profile).
 Here we only introduce the memory-related content in Query Profile, and locate 
the Operator and data structure that use a lot [...]
+Find query information including SQL in `fe/log/fe.audit.log` based on 
QueryID, get the query plan by `explain SQL`, and get the query profile by 
executing SQL after `set enable_profile=true`. For a detailed introduction to 
Query Profile, refer to the document [Query 
Profile](../../../../query-acceleration/performance-tuning-overview/analysis-tools#doris-profile-analyzing-execution-layer-bottlenecks).
 Here we only introduce the memory-related content in Query Profile, and locate 
the Oper [...]
 
 1. Locate Operators or memory data structures that use a lot of memory
 
diff --git a/versioned_docs/version-4.x/ai/ai-overview.md 
b/versioned_docs/version-4.x/ai/ai-overview.md
index a145274c359..ce24d30eb3d 100644
--- a/versioned_docs/version-4.x/ai/ai-overview.md
+++ b/versioned_docs/version-4.x/ai/ai-overview.md
@@ -30,7 +30,7 @@ The following table lists common AI scenarios and the 
corresponding capabilities
 | Let AI Agents query business data in real time | [Agent Facing 
Analytics](#agent-facing-analytics) | MPP architecture, millisecond-level 
queries, MCP Server |
 | Run keyword search, vector search, and aggregation on the same data | 
[Hybrid search and analytics](#hybrid-search-and-analytics-processing) | 
Inverted index + vector index + SQL |
 | Accelerate AI training data preparation and feature engineering | [Lakehouse 
for AI](#lakehouse-for-ai) | Lakehouse architecture, open table formats, fast 
SQL |
-| Build enterprise knowledge bases and intelligent customer service | [RAG 
applications](#ragretrieval-augmented-generation) | High-concurrency vector 
retrieval, hybrid search |
+| Build enterprise knowledge bases and intelligent customer service | [RAG 
applications](#rag-retrieval-augmented-generation) | High-concurrency vector 
retrieval, hybrid search |
 | Monitor model training and inference services | [AI 
Observability](#ai-observability) | High-throughput ingestion, inverted index, 
low storage cost |
 | Make search understand user intent | [Semantic search](#semantic-search) | 
HNSW/IVF, quantization, multimodal extensions |
 
diff --git 
a/versioned_docs/version-4.x/data-operate/import/data-source/amazon-s3.md 
b/versioned_docs/version-4.x/data-operate/import/data-source/amazon-s3.md
index 9db7d21a2e8..dd9a9ceb665 100644
--- a/versioned_docs/version-4.x/data-operate/import/data-source/amazon-s3.md
+++ b/versioned_docs/version-4.x/data-operate/import/data-source/amazon-s3.md
@@ -223,7 +223,7 @@ mysql> select * from test_s3load;
 
 <!-- Knowledge type: Configuration / Authentication -->
 
-In addition to using Access Key / Secret Key, Doris also supports 
authenticating S3 Load and TVF via `AWS Assume Role`. This is suitable for 
enterprises with restrictions on distributing credentials. For detailed 
configuration, see [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication).
+In addition to using Access Key / Secret Key, Doris also supports 
authenticating S3 Load and TVF via `AWS Assume Role`. This is suitable for 
enterprises with restrictions on distributing credentials. For detailed 
configuration, see [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication-and-authorization).
 
 ## FAQ
 
@@ -263,4 +263,4 @@ Increase `timeout` in `PROPERTIES` (in seconds) 
appropriately. The example uses
 ## Related documents
 
 - [Broker Load Manual](../import-way/broker-load-manual.md)
-- [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication)
+- [AWS Integration - Assumed Role 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md#assumed-role-authentication-and-authorization)
diff --git 
a/versioned_docs/version-4.x/data-operate/import/data-source/bigquery.md 
b/versioned_docs/version-4.x/data-operate/import/data-source/bigquery.md
index ed0c4954bac..2176f25b717 100644
--- a/versioned_docs/version-4.x/data-operate/import/data-source/bigquery.md
+++ b/versioned_docs/version-4.x/data-operate/import/data-source/bigquery.md
@@ -228,7 +228,7 @@ Reason: column_name[country], the length of input is too 
long than schema. first
 Reason: column_name[country], the length of input is too long than schema. 
first 32 bytes of input str: [Australia] schema length: 1; actual length: 9; . 
src line [];
 ```
 
-For data quality errors, if skipping some erroneous rows is acceptable, set 
the error tolerance ratio in the S3 Load `PROPERTIES`. For details on the 
parameters, see [Load configuration 
parameters](../../import/import-way/broker-load-manual.md#related-configurations).
+For data quality errors, if skipping some erroneous rows is acceptable, set 
the error tolerance ratio in the S3 Load `PROPERTIES`. For details on the 
parameters, see [Load configuration 
parameters](../../import/import-way/broker-load-manual.md#import-configuration-parameters).
 
 #### 3.4 Import data from multiple files
 
diff --git 
a/versioned_docs/version-4.x/data-operate/import/data-source/snowflake.md 
b/versioned_docs/version-4.x/data-operate/import/data-source/snowflake.md
index 17306ad476e..d6d61ca79a8 100644
--- a/versioned_docs/version-4.x/data-operate/import/data-source/snowflake.md
+++ b/versioned_docs/version-4.x/data-operate/import/data-source/snowflake.md
@@ -250,7 +250,7 @@ Reason: column_name[country], the length of input is too 
long than schema. first
 Reason: column_name[country], the length of input is too long than schema. 
first 32 bytes of input str: [Australia] schema length: 1;   actual length: 9; 
. src line [];
 ```
 
-For data quality errors, if some erroneous data is allowed to be skipped, you 
can set the error tolerance ratio in the `PROPERTIES` of the S3 Load job. For 
details, see [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#related-configurations).
+For data quality errors, if some erroneous data is allowed to be skipped, you 
can set the error tolerance ratio in the `PROPERTIES` of the S3 Load job. For 
details, see [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#import-configuration-parameters).
 
 #### 3.4 Batch Import Multiple Partitions
 
@@ -303,4 +303,4 @@ Doris does not have a type that fully corresponds to 
Snowflake's `TIME`. Therefo
 - [Azure Load](./azure-storage.md)
 - [TVF Load](./amazon-s3.md#method-2-load-with-tvf-synchronous)
 - [Load Best Practices](../load-best-practices/load-best-practices.md)
-- [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#related-configurations)
+- [Import Configuration 
Parameters](../../import/import-way/broker-load-manual.md#import-configuration-parameters)
diff --git 
a/versioned_docs/version-4.x/data-operate/import/import-way/routine-load-manual.md
 
b/versioned_docs/version-4.x/data-operate/import/import-way/routine-load-manual.md
index 398101f8c3e..f1197199910 100644
--- 
a/versioned_docs/version-4.x/data-operate/import/import-way/routine-load-manual.md
+++ 
b/versioned_docs/version-4.x/data-operate/import/import-way/routine-load-manual.md
@@ -451,7 +451,7 @@ The specific parameter options of the `job_properties` 
clause are as follows:
 | max_batch_rows | The maximum number of rows each subtask can read. Must be 
greater than or equal to 200000. The default is 20000000. `max_batch_interval`, 
`max_batch_rows`, and `max_batch_size` together form the subtask execution 
threshold. When any one of them is reached, the import subtask ends and a new 
subtask is generated. |
 | max_batch_size | The maximum number of bytes each subtask can read. The unit 
is bytes, the range is 100 MB to 1 GB, and the default is 1 GB. 
`max_batch_interval`, `max_batch_rows`, and `max_batch_size` together form the 
subtask execution threshold. When any one of them is reached, the import 
subtask ends and a new subtask is generated. |
 | max_error_number | The maximum number of error rows allowed within the 
sampling window. Must be greater than or equal to 0. The default is 0 (no error 
rows are allowed). The sampling window is `max_batch_rows * 10`. If the number 
of error rows in the sampling window exceeds `max_error_number`, the routine 
load job is paused. Manual intervention is required to check data quality 
issues. The data quality issues can be checked through the `ErrorLogUrls` field 
in the [SHOW ROUTINE LOAD](.. [...]
-| strict_mode | Whether to enable strict mode. Disabled by default. Strict 
mode means strict filtering of column type conversions during import. When 
enabled, if a non-null original data value becomes NULL after a column type 
conversion, it is filtered out.<p>Filtering policy:</p><p>- Strict Mode does 
not affect derived columns (those generated by function 
transformation).</p><p>- When a column type needs conversion, data of the wrong 
type is filtered out. You can view it in `ErrorLogUrl [...]
+| strict_mode | Whether to enable strict mode. Disabled by default. Strict 
mode means strict filtering of column type conversions during import. When 
enabled, if a non-null original data value becomes NULL after a column type 
conversion, it is filtered out.<p>Filtering policy:</p><p>- Strict Mode does 
not affect derived columns (those generated by function 
transformation).</p><p>- When a column type needs conversion, data of the wrong 
type is filtered out. You can view it in `ErrorLogUrl [...]
 | timezone | Specifies the timezone used by the import job. The default is the 
session's timezone parameter. This parameter affects the results of all 
timezone-related functions involved in the import. |
 | format | Specifies the format of the import data. The default is CSV. JSON 
format is supported. |
 | jsonpaths | When the import data format is JSON, you can use `jsonpaths` to 
specify the fields to extract from the JSON data. For example: `"jsonpaths" = 
"[\"$.userid\",\"$.username\",\"$.age\",\"$.city\"]"` |
@@ -460,7 +460,7 @@ The specific parameter options of the `job_properties` 
clause are as follows:
 | send_batch_parallelism | Sets the parallelism for sending batch data. If the 
parallelism value exceeds the BE configuration 
`max_send_batch_parallelism_per_job`, the BE acting as the coordinator uses the 
value of `max_send_batch_parallelism_per_job`. |
 | load_to_single_tablet | Supports importing data from a task into only one 
tablet of the corresponding partition. The default is false. This parameter can 
only be set when importing data into an OLAP table with random bucketing. |
 | partial_columns | Specifies whether to enable partial column update. The 
default is false. This parameter can only be set when the table model is Unique 
and uses Merge on Write. Single-stream multi-table imports do not support this 
parameter. For details, see [Partial Column 
Update](../../../data-operate/update/partial-column-update.md). |
-| unique_key_update_mode | Specifies the update mode of a Unique Key table. 
Options:<ul><li>`UPSERT` (default): standard whole-row insert or 
update.</li><li>`UPDATE_FIXED_COLUMNS`: partial column update where all rows 
update the same columns. Equivalent to 
`partial_columns=true`.</li><li>`UPDATE_FLEXIBLE_COLUMNS`: flexible partial 
column update where each row can update different columns. Requires JSON format 
and the table must have `enable_unique_key_skip_bitmap_column=true`. Cannot be  
[...]
+| unique_key_update_mode | Specifies the update mode of a Unique Key table. 
Options:<ul><li>`UPSERT` (default): standard whole-row insert or 
update.</li><li>`UPDATE_FIXED_COLUMNS`: partial column update where all rows 
update the same columns. Equivalent to 
`partial_columns=true`.</li><li>`UPDATE_FLEXIBLE_COLUMNS`: flexible partial 
column update where each row can update different columns. Requires JSON format 
and the table must have `enable_unique_key_skip_bitmap_column=true`. Cannot be  
[...]
 | partial_update_new_key_behavior | The handling of newly inserted rows when 
performing partial column updates on a Unique Merge on Write table. Two types: 
`APPEND` and `ERROR`.<br/>- `APPEND`: allow inserting new rows.<br/>- `ERROR`: 
when inserting a new row, the import fails and an error is reported. |
 | max_filter_ratio | The maximum filter ratio allowed within the sampling 
window. Must be greater than or equal to 0 and less than or equal to 1. The 
default value is 1.0, which means any error rows are tolerated. The sampling 
window is `max_batch_rows * 10`. If the number of error rows / total rows in 
the sampling window exceeds `max_filter_ratio`, the routine load job is paused. 
Manual intervention is required to check data quality issues. Rows filtered out 
by the where condition are n [...]
 | enclose | Specifies the enclosing character. When CSV data fields contain 
row separators or column separators, you can specify a single-byte character as 
the enclosing character to prevent unintended truncation. For example, if the 
column separator is `,` and the enclosing character is `'`, then for the data 
`a,'b,c'`, `b,c` is parsed as a single field. |
diff --git 
a/versioned_docs/version-4.x/data-operate/import/import-way/stream-load-manual.md
 
b/versioned_docs/version-4.x/data-operate/import/import-way/stream-load-manual.md
index beb7f51831e..f75a963af5b 100644
--- 
a/versioned_docs/version-4.x/data-operate/import/import-way/stream-load-manual.md
+++ 
b/versioned_docs/version-4.x/data-operate/import/import-way/stream-load-manual.md
@@ -369,7 +369,7 @@ Import parameters can be passed through the HTTP Header. 
The parameters are desc
 | enclose                         | Specifies the enclosing character. When 
the CSV data fields contain line or column separators, you can specify a 
single-byte character as the enclosing character to prevent unintended 
truncation. For example, with the column separator `,` and the enclosing 
character `'`, given the data `"a,'b,c'"`, then `b,c` is parsed as one field. 
Note: when `enclose` is set to `"`, `trim_double_quotes` must be set to true. |
 | escape                          | Specifies the escape character. Used to 
escape characters in fields that are the same as the enclosing character. For 
example, with the data `"a,'b,'c'"` and the enclosing character `'`, to parse 
`b,'c` as one field, specify a single-byte escape character such as `\\` and 
modify the data to `"a,'b,\\'c'"`. |
 | memtable_on_sink_node           | Whether to enable MemTable forward when 
importing data. The default is false. |
-| unique_key_update_mode          | The update mode on a Unique table. 
Currently effective only for Merge-On-Write Unique tables. Three types are 
supported: `UPSERT`, `UPDATE_FIXED_COLUMNS`, and `UPDATE_FLEXIBLE_COLUMNS`. 
`UPSERT`: imports data with upsert semantics. `UPDATE_FIXED_COLUMNS`: imports 
data using [partial column 
update](../../../data-operate/update/partial-column-update.md#column-update-on-the-primary-key-model).
 `UPDATE_FLEXIBLE_COLUMNS`: imports data using [flexible partia [...]
+| unique_key_update_mode          | The update mode on a Unique table. 
Currently effective only for Merge-On-Write Unique tables. Three types are 
supported: `UPSERT`, `UPDATE_FIXED_COLUMNS`, and `UPDATE_FLEXIBLE_COLUMNS`. 
`UPSERT`: imports data with upsert semantics. `UPDATE_FIXED_COLUMNS`: imports 
data using [partial column 
update](../../../data-operate/update/partial-column-update.md#column-update-on-the-unique-key-model).
 `UPDATE_FLEXIBLE_COLUMNS`: imports data using [flexible partial [...]
 | partial_update_new_key_behavior | The way newly inserted rows are handled 
when performing partial column updates or flexible column updates on a Unique 
table. Two types are available: `APPEND` and `ERROR`.<br/>- `APPEND`: allows 
new rows to be inserted.<br/>- `ERROR`: import fails and reports an error when 
inserting a new row. |
 
 ### Import return value
@@ -1058,7 +1058,7 @@ Doris supports rich column transformation and filtering 
operations in import sta
 
 ### Enable strict mode for import
 
-The `strict_mode` property is used to set whether the import task runs in 
strict mode. This property affects the results of column mapping, 
transformation, and filtering. For more about strict mode, see the [Strict 
mode](../handling-messy-data#strict-mode) documentation.
+The `strict_mode` property is used to set whether the import task runs in 
strict mode. This property affects the results of column mapping, 
transformation, and filtering. For more about strict mode, see the [Strict 
mode](../handling-messy-data#strict-mode-strict_mode) documentation.
 
 ### Perform partial column update or flexible partial column update during 
import
 
diff --git 
a/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
 
b/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
index e0efb2224f6..01f010f9552 100644
--- 
a/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
+++ 
b/versioned_docs/version-4.x/data-operate/import/import-way/streaming-job/continuous-load-mysql-table.md
@@ -102,7 +102,7 @@ The MySQL data source parameters supported by CDC Stream 
TVF are as follows:
 | --------- | ------- | 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 |
 | session.* | None    | All session variables can be configured under 
`job_properties`. For import variables, see [Insert Into 
Select](../../../../data-operate/import/import-way/insert-into-manual.md#import-configuration-parameters)
 |
 
-For more general parameters (such as `max_interval`), see the [Continuous 
Import Overview](./continuous-load-overview.md#general-parameters).
+For more general parameters (such as `max_interval`), see the [Continuous 
Import Overview](./continuous-load-overview.md#common-parameters).
 
 ## FAQ
 
diff --git 
a/versioned_docs/version-4.x/data-operate/import/load-best-practices/load-best-practices.md
 
b/versioned_docs/version-4.x/data-operate/import/load-best-practices/load-best-practices.md
index 9760c6a76d3..248babee156 100644
--- 
a/versioned_docs/version-4.x/data-operate/import/load-best-practices/load-best-practices.md
+++ 
b/versioned_docs/version-4.x/data-operate/import/load-best-practices/load-best-practices.md
@@ -116,7 +116,7 @@ When using Random bucketing, you can enable single-tablet 
load mode by setting `
 - Concentrating writes on a single Tablet reduces the generation of small 
Segment files and avoids the write amplification caused by frequent Compaction.
 - It significantly improves the concurrency and throughput of large-scale data 
load.
 
-For details, see [Random 
Bucketing](../../../table-design/data-partitioning/data-bucketing#random-bucketing).
+For details, see [Random 
Bucketing](../../../table-design/data-partitioning/data-bucketing#2-random-bucketing).
 
 ### Batching Strategy
 
@@ -162,7 +162,7 @@ Concurrency strategies vary by file type:
 - **Compressed files / Parquet / ORC files**: split into multiple smaller 
files before loading to enable concurrent loads.
 - **Uncompressed CSV and JSON files**: Doris automatically splits the files 
internally and loads them concurrently.
 
-For the concurrency strategy, see [Broker Load Configuration 
Parameters](../import-way/broker-load-manual#load-configuration-parameters).
+For the concurrency strategy, see [Broker Load Configuration 
Parameters](../import-way/broker-load-manual#import-configuration-parameters).
 
 ### Stream Load Concurrency
 
diff --git a/versioned_docs/version-4.x/data-operate/transaction.md 
b/versioned_docs/version-4.x/data-operate/transaction.md
index 3001e895393..cde75791a58 100644
--- a/versioned_docs/version-4.x/data-operate/transaction.md
+++ b/versioned_docs/version-4.x/data-operate/transaction.md
@@ -52,7 +52,7 @@ A Label is typically set in the format `business logic + 
time`, such as `my_busi
 
 #### StreamLoad 2PC
 
-[StreamLoad 2PC](#stream-load) is mainly used to support EOS semantics when 
Flink writes to Doris.
+[StreamLoad 2PC](#stream-load-2pc) is mainly used to support EOS semantics 
when Flink writes to Doris.
 
 ## Explicit Transaction Operations
 
diff --git a/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx 
b/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
index d7776fad973..23ea3ede66a 100644
--- a/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
+++ b/versioned_docs/version-4.x/lakehouse/catalogs/iceberg-catalog.mdx
@@ -2760,7 +2760,7 @@ EXECUTE rewrite_data_files (
 1. The `rewrite_data_files` operation reads and rewrites data files, which 
incurs additional I/O and computing overhead. Please allocate cluster resources 
appropriately.
 2. Before execution, you can use SQL from the [View Data File 
Distribution](#view-data-file-distribution) section to evaluate whether 
rewriting is necessary
 3. WHERE conditions can be used to limit the partitions or data range for 
rewriting. This condition filters out files that don't contain data matching 
the WHERE condition, reducing the number of files and amount of data to rewrite
-4. Before execution, you can use SQL from the [Rewrite File Selection 
Logic](#rewrite-file-selection-logic) section to calculate which files will be 
rewritten
+4. Before execution, you can use SQL from the [Rewrite File Selection 
Logic](#rewrite_data_files-file-selection-strategy) section to calculate which 
files will be rewritten
 
 ### rewrite_manifests
 
diff --git a/versioned_docs/version-4.x/lakehouse/meta-cache.md 
b/versioned_docs/version-4.x/lakehouse/meta-cache.md
index 5a720093b96..2857dcd989c 100644
--- a/versioned_docs/version-4.x/lakehouse/meta-cache.md
+++ b/versioned_docs/version-4.x/lakehouse/meta-cache.md
@@ -207,7 +207,7 @@ Used to cache the file list information under a single 
partition of a Hive table
 ### Hudi Table Partitions
 
 Legacy summary of Hudi partition metadata caching.
-Current Hudi cache entries in Doris 4.1.x+ also include `fs_view` and 
`meta_client`; see [Hudi 
Catalog](./catalogs/hudi-catalog.md#meta-cache-unified).
+Current Hudi cache entries in Doris 4.1.x+ also include `fs_view` and 
`meta_client`; see [Hudi 
Catalog](./catalogs/hudi-catalog.md#meta-cache-unified-modules).
 
 This cache, each Hudi Catalog has one.
 
@@ -230,7 +230,7 @@ This cache, each Hudi Catalog has one.
 ### Iceberg Table Information
 
 Legacy summary of Iceberg table metadata caching. The table object is loaded 
and constructed through the Iceberg API.
-For Doris 4.1.x+, the current observable cache entries are documented in 
[Iceberg Catalog](./catalogs/iceberg-catalog.mdx#meta-cache-unified).
+For Doris 4.1.x+, the current observable cache entries are documented in 
[Iceberg Catalog](./catalogs/iceberg-catalog.mdx#meta-cache-unified-modules).
 
 This cache, each Iceberg Catalog has one.
 
diff --git a/versioned_docs/version-4.x/observability/log.md 
b/versioned_docs/version-4.x/observability/log.md
index 05f740f8f0b..20bec323ab2 100644
--- a/versioned_docs/version-4.x/observability/log.md
+++ b/versioned_docs/version-4.x/observability/log.md
@@ -258,7 +258,7 @@ Because both writes and queries on log data have distinct 
characteristics, follo
 
 **Partitioning**:
 
-- Use [Range 
partitioning](../table-design/data-partitioning/manual-partitioning.md#range-分区)
 on the time field (`PARTITION BY RANGE(ts)`) and enable [Dynamic 
partitioning](../table-design/data-partitioning/dynamic-partitioning) 
(`"dynamic_partition.enable" = "true"`) to manage daily partitions 
automatically.
+- Use [Range 
partitioning](../table-design/data-partitioning/manual-partitioning.md#range-partitioning)
 on the time field (`PARTITION BY RANGE(ts)`) and enable [Dynamic 
partitioning](../table-design/data-partitioning/dynamic-partitioning) 
(`"dynamic_partition.enable" = "true"`) to manage daily partitions 
automatically.
 - Use a `Datetime` time field as the key (`DUPLICATE KEY(ts)`); this provides 
a multi-fold speedup when querying the latest N logs.
 
 **Bucketing**:
diff --git 
a/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
 
b/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
index 6eb4caf0ae0..15e2e9eb50a 100644
--- 
a/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
+++ 
b/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/date-time-functions/utc-time.md
@@ -26,7 +26,7 @@ UTC_TIME([<`precision`>])
 ## Return Value
 Returns the current UTC time.
 
-Return Time type (format: HH:mm:ss). When using the returned result for 
numerical operations, it will be converted to [integer 
format](../../../../sql-manual/basic-element/sql-data-types/conversion/int-conversion#from--time)
 (the time value elapsed since 00:00:00, unit in microseconds).
+Return Time type (format: HH:mm:ss). When using the returned result for 
numerical operations, it will be converted to [integer 
format](../../../../sql-manual/basic-element/sql-data-types/conversion/int-conversion#from-time)
 (the time value elapsed since 00:00:00, unit in microseconds).
 
 When the input is NULL or the precision is out of range, an error will be 
thrown.
 
diff --git 
a/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/other-functions/default.md
 
b/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/other-functions/default.md
index 1d7bd000cf5..4ad138f45f4 100644
--- 
a/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/other-functions/default.md
+++ 
b/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/other-functions/default.md
@@ -34,7 +34,7 @@ Special cases:
 - Only columns are allowed as input; if a constant (including NULL) or an 
expression is provided, an error is thrown
 - When the input is an auto-increment column or a generated column, an error 
is thrown
 
-[Doris-supported default value related 
parameters](../../../sql-statements/table-and-view/table/CREATE-TABLE.md#Column-Default-Value-Related-Parameters)
+[Doris-supported default value related 
parameters](../../../sql-statements/table-and-view/table/CREATE-TABLE.md#column-default-value-related-parameters)
 
 ## Examples
 
diff --git 
a/versioned_docs/version-4.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
 
b/versioned_docs/version-4.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
index 7737e8a7eb8..594fdb6bc51 100644
--- 
a/versioned_docs/version-4.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
+++ 
b/versioned_docs/version-4.x/sql-manual/sql-statements/data-modification/DML/UPDATE.md
@@ -10,7 +10,7 @@
 
 This statement is used to update the data. The UPDATE statement currently only 
supports the UNIQUE KEY model.
 
-The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../connection-integration/data-integration/flink-doris-connector.md#use-flink-cdc-to-update-key-column).
+The UPDATE operation currently only supports updating the Value column. The 
update of the Key column can refer to [Using FlinkCDC to update Key 
column](../../../../connection-integration/data-integration/flink-doris-connector.md#updating-key-columns-with-flink-cdc).
 #### Syntax
 
 ```sql
diff --git 
a/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
 
b/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
index 201b9f160b7..9b72c275c79 100644
--- 
a/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
+++ 
b/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY.md
@@ -14,7 +14,7 @@ Differences between Partition Attributes and Table Attributes
   - For not-created auto partitions, you can use ALTER TABLE {tableName} SET 
({key} = {value}) to modify their attributes.
   - If users want to modify partition attributes, they need to modify the 
attributes of the already created partitions, as well as the attributes of 
not-created partitions.
 - Aside from the above attributes, all others are at the table level.
-- For the specific attributes, please refer to [create table 
attributes](../../../../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md#properties)
+- For the specific attributes, please refer to [create table 
attributes](../../../../sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md#table-property-related-parameters)
 :::
 
 ## Description
diff --git 
a/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
 
b/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
index 7ada5452dee..9a41f7a51a8 100644
--- 
a/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
+++ 
b/versioned_docs/version-4.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE.md
@@ -229,7 +229,7 @@ CREATE TABLE <new_table_name> LIKE <existing_table_name>
 
 **<distribute_cols> and <bucket_count>**
 
-> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#manual-setting-bucket-count)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#automatic-setting-bucket-count)
 sections.
+> Bucketing columns and bucket counts. Detail model bucket columns can be any 
columns, aggregation model and primary key model bucket columns must be 
consistent with key columns. Bucket count is any positive integer. For details 
on bucketing, see the [Manual 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#1-manually-set-the-number-of-buckets)
 and [Automatic 
Bucketing](../../../../table-design/data-partitioning/data-bucketing#2-automatically-set-the-number-of-buckets)
 [...]
 
 ### Column Default Value Related Parameters
 
@@ -372,7 +372,7 @@ The functionality of creating synchronized materialized 
views with rollup is lim
 | group_commit_data_bytes | Configures the Group Commit batch data size for 
this table. The unit is bytes, with a default value of 134217728, i.e., 128MB. 
The timing of Group Commit depends on which of `group_commit_interval_ms` and 
`group_commit_data_bytes` reaches the set value first. |
 | enable_mow_light_delete | Whether to enable writing Delete predicate with 
Delete statements on Unique tables with Mow. If enabled, it will improve the 
performance of Delete statements, but partial column updates after Delete may 
result in some data errors. If disabled, it will reduce the performance of 
Delete statements to ensure correctness. The default value of this property is 
`false`. This property can only be enabled on Unique Merge-on-Write tables. |
 | Dynamic Partitioning Related Properties | For dynamic partitioning, refer to 
[Data Partitioning - Dynamic 
Partitioning](../../../../table-design/data-partitioning/dynamic-partitioning) |
-| enable_unique_key_skip_bitmap_column | Whether to enable the [Flexible 
Column Update 
feature](../../../../data-operate/update/update-of-unique-model.md#flexible-partial-column-updates)
 on Unique Merge-on-Write tables. This property can only be enabled on Unique 
Merge-on-Write tables. |
+| enable_unique_key_skip_bitmap_column | Whether to enable the [Flexible 
Column Update 
feature](../../../../data-operate/update/partial-column-update.md#flexible-column-update)
 on Unique Merge-on-Write tables. This property can only be enabled on Unique 
Merge-on-Write tables. |
 
 ## Access Control Requirements
 
diff --git 
a/versioned_docs/version-4.x/table-design/data-partitioning/auto-partitioning.md
 
b/versioned_docs/version-4.x/table-design/data-partitioning/auto-partitioning.md
index 717c1ce4015..1a3c000d842 100644
--- 
a/versioned_docs/version-4.x/table-design/data-partitioning/auto-partitioning.md
+++ 
b/versioned_docs/version-4.x/table-design/data-partitioning/auto-partitioning.md
@@ -293,7 +293,7 @@ The remaining partition list:
 
 ## Used Together with Auto Bucketing
 
-Only AUTO RANGE PARTITION can be used together with the [auto 
bucketing](./data-bucketing.md#auto-set-bucket-number) feature.
+Only AUTO RANGE PARTITION can be used together with the [auto 
bucketing](./data-bucketing.md#2-automatically-set-the-number-of-buckets) 
feature.
 
 When using this combination, Doris assumes that data is loaded into the table 
incrementally in time order, and that each load involves only one partition. 
Therefore, **this combination is recommended only for tables loaded 
incrementally in batches**.
 
diff --git 
a/versioned_docs/version-4.x/table-design/data-partitioning/basic-concepts.mdx 
b/versioned_docs/version-4.x/table-design/data-partitioning/basic-concepts.mdx
index a0c7111cb81..1c11a1f64ee 100644
--- 
a/versioned_docs/version-4.x/table-design/data-partitioning/basic-concepts.mdx
+++ 
b/versioned_docs/version-4.x/table-design/data-partitioning/basic-concepts.mdx
@@ -252,7 +252,7 @@ PROPERTIES
 );
 ```
 
-For details about this feature, see [Using Auto Partition with Dynamic 
Partition](./auto-partitioning#using-with-dynamic-partition).
+For details about this feature, see [Using Auto Partition with Dynamic 
Partition](./auto-partitioning#lifecycle-management).
 
 </TabItem>
 
diff --git a/versioned_docs/version-4.x/table-design/data-type.md 
b/versioned_docs/version-4.x/table-design/data-type.md
index 544fa9d81b1..a4fe228ba9e 100644
--- a/versioned_docs/version-4.x/table-design/data-type.md
+++ b/versioned_docs/version-4.x/table-design/data-type.md
@@ -47,7 +47,7 @@ The list of data types supported by Apache Doris is as 
follows:
 | [JSON](../sql-manual/basic-element/sql-data-types/semi-structured/JSON)      
     | Variable     | Binary JSON type. It is stored in binary JSON format, and 
JSON internal fields are accessed via JSON functions. The length limit and 
configuration method are the same as for String. |
 | 
[VARIANT](../sql-manual/basic-element/sql-data-types/semi-structured/VARIANT)   
     | Variable     | Dynamically variable data type, designed for 
semi-structured data such as JSON. It can store any JSON, automatically 
splitting fields in the JSON into sub-columns for storage to improve storage 
efficiency and query analysis performance. The length limit and configuration 
method are the same as for String. The Variant type can only be used in Value 
columns, not in Key columns or partiti [...]
 
-### [Aggregate 
Types](../sql-manual/basic-element/sql-data-types/data-type-overview#aggregate-types)
+### [Aggregate 
Types](../sql-manual/basic-element/sql-data-types/data-type-overview#aggregation-types)
 
 | Type Name      | Storage Size (Bytes) | Description                          
                        |
 | -------------- | --------- | 
------------------------------------------------------------ |


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to