You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by je...@apache.org on 2026/04/13 02:10:32 UTC
(doris-website) branch master updated: docs: update blog/community content and add discord redirect page (#3534)
This is an automated email from the ASF dual-hosted git repository.
jeffreyh 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 882a5327df4 docs: update blog/community content and add discord redirect page (#3534)
882a5327df4 is described below
commit 882a5327df46bba16b586e30768b80a8e7105688
Author: yangon <26...@qq.com>
AuthorDate: Mon Apr 13 10:10:25 2026 +0800
docs: update blog/community content and add discord redirect page (#3534)
---
...f-an-Entire-MySQL-Database-for-Data-Analysis.md | 2 +-
...Times-More-Cost-Effective-Than-Elasticsearch.md | 2 +-
...ng-a-Data-Warehouse-for-Traditional-Industry.md | 2 +-
...xt-Generation-Data-Lakehouse-10X-Performance.md | 2 +-
...ection-How-Fast-Data-Queries-Are-Implemented.md | 2 +-
...n-thousand-Dashboards-Without-Causing-a-Mess.md | 2 +-
...o-Build-a-Simple-but-Solid-Data-Architecture.md | 2 +-
...k-the-Data-Update-Mechanism-of-Your-Database.md | 2 +-
...-to-That-Poor-BI-Engineer-We-Need-Fast-Joins.md | 2 +-
...Per-Day-and-Keep-Big-Queries-Within-1-Second.md | 2 +-
...asticsearch-and-PostgreSQL-with-Apache-Doris.md | 2 +-
blog/Say-Goodbye-to-OOM-Crashes.md | 2 +-
...-Why-We-Went-from-ClickHouse-to-Apache-Doris.md | 2 +-
...orage-for-Hot-and-Cold-Data-What-Why-and-How.md | 2 +-
blog/Understanding-Data-Compaction-in-3-Minutes.md | 2 +-
...al-time-data-warehouse-based-on-apache-doris.md | 2 +-
...ion-based-on-the-apache-doris-data-warehouse.md | 2 +-
...d-built-a-pb-scale-logging-system-with-doris.md | 2 +-
...log-and-time-series-data-analysis-in-netease.md | 4 +-
...ta-reporting-tagging-and-data-lake-analytics.md | 2 +-
...expect-from-apache-doris-as-a-data-warehouse.md | 2 +-
...in-apache-doris-for-10x-faster-data-transfer.md | 2 +-
blog/auto-increment-columns-in-databases.md | 2 +-
blog/auto-partition-in-apache-doris.md | 2 +-
...wn-data-silos-with-an-apache-doris-based-cdp.md | 2 +-
blog/cross-cluster-replication-for-read-write.md | 2 +-
...appens-in-real-time-is-analyzed-in-real-time.md | 2 +-
...-by-enabling-seven-times-faster-log-analysis.md | 2 +-
...olution-of-the-apache-doris-execution-engine.md | 2 +-
...he-doris-upgrading-an-observability-platform.md | 4 +-
...e-iov-data-analytics-helps-prevent-accidents.md | 2 +-
...s-a-next-generation-real-time-data-warehouse.md | 2 +-
...erates-text-searches-by-40-time-apache-doris.md | 2 +-
blog/job-scheduler-for-task-automation.md | 2 +-
blog/llm-observability.md | 320 +++++++++++++++++
blog/log-analysis-elasticsearch-vs-apache-doris.md | 2 +-
blog/migrate-lakehouse-from-bigquery-to-doris.md | 4 +-
...rom-clickhouse-to-apache-doris-what-happened.md | 2 +-
...ti-tenant-workload-isolation-in-apache-doris.md | 2 +-
blog/release-note-2.0.0.md | 2 +-
blog/release-note-2.1.0.md | 2 +-
blog/release-note-3.0.0.md | 2 +-
...tencent-music-migrate-elasticsearch-to-doris.md | 2 +-
blog/variant-in-apache-doris-2.1.md | 2 +-
blog/vector-search.md | 387 +++++++++++++++++++++
...is-best-alternatives-for-real-time-analytics.md | 2 +-
community/how-to-contribute/contribute-to-doris.md | 2 +-
community/join-community.md | 2 +-
docs/releasenotes/v3.0/release-3.0.0.md | 2 +-
docusaurus.config.js | 4 +-
.../how-to-contribute/contribute-to-doris.md | 2 +-
.../current/join-community.md | 2 +-
.../current/releasenotes/v3.0/release-3.0.0.md | 2 +-
.../version-2.1/releasenotes/v3.0/release-3.0.0.md | 2 +-
.../version-3.x/releasenotes/v3.0/release-3.0.0.md | 2 +-
.../version-4.x/releasenotes/v3.0/release-3.0.0.md | 2 +-
src/pages/discord.tsx | 32 ++
src/pages/index.tsx | 6 +-
src/theme/BlogListPage/index.tsx | 17 +
src/theme/Footer/index.tsx | 4 +-
.../Navbar/Content/components/NavbarCommon.tsx | 2 +-
src/theme/TOC/index.tsx | 2 +-
static/images/blogs/llm-powered-workflow.png | Bin 0 -> 566692 bytes
.../vector-search-archtecture-for-ai-systems.png | Bin 0 -> 396806 bytes
static/images/llm-observability.png | Bin 0 -> 1014332 bytes
static/images/vector-search.png | Bin 0 -> 1021610 bytes
static/pdf/Apache_Doris_v3_x_t5x7q9z2y4.pdf | Bin 0 -> 57613601 bytes
static/pdf/Apache_Doris_v4_x_j3h8d6b1v0.pdf | Bin 0 -> 60602860 bytes
.../version-2.1/releasenotes/v3.0/release-3.0.0.md | 2 +-
.../version-3.x/releasenotes/v3.0/release-3.0.0.md | 2 +-
.../version-4.x/releasenotes/v3.0/release-3.0.0.md | 2 +-
71 files changed, 824 insertions(+), 68 deletions(-)
diff --git a/blog/Auto-Synchronization-of-an-Entire-MySQL-Database-for-Data-Analysis.md b/blog/Auto-Synchronization-of-an-Entire-MySQL-Database-for-Data-Analysis.md
index e04009f260f..f26b7fabc84 100644
--- a/blog/Auto-Synchronization-of-an-Entire-MySQL-Database-for-Data-Analysis.md
+++ b/blog/Auto-Synchronization-of-an-Entire-MySQL-Database-for-Data-Analysis.md
@@ -191,5 +191,5 @@ CREATE TABLE doris_sink (
);
```
-If you've got any questions, find Apache Doris developers on [Discord](https://discord.gg/JemTbMKj).
+If you've got any questions, find Apache Doris developers on [Discord](/discord).
diff --git a/blog/Building-A-Log-Analytics-Solution-10-Times-More-Cost-Effective-Than-Elasticsearch.md b/blog/Building-A-Log-Analytics-Solution-10-Times-More-Cost-Effective-Than-Elasticsearch.md
index 3c6c56264ff..f0ef60d8a6b 100644
--- a/blog/Building-A-Log-Analytics-Solution-10-Times-More-Cost-Effective-Than-Elasticsearch.md
+++ b/blog/Building-A-Log-Analytics-Solution-10-Times-More-Cost-Effective-Than-Elasticsearch.md
@@ -247,4 +247,4 @@ For more feature introduction and usage guide, see documentation: [Inverted Inde
In a word, what contributes to Apache Doris' 10-time higher cost-effectiveness than Elasticsearch is its OLAP-tailored optimizations for inverted indexing, supported by the columnar storage engine, massively parallel processing framework, vectorized query engine, and cost-based optimizer of Apache Doris.
-As proud as we are about our own inverted indexing solution, we understand that self-published benchmarks can be controversial, so we are open to [feedback](https://discord.gg/JemTbMKj) from any third-party users and see how [Apache Doris](https://github.com/apache/doris) works in real-world cases.
+As proud as we are about our own inverted indexing solution, we understand that self-published benchmarks can be controversial, so we are open to [feedback](/discord) from any third-party users and see how [Apache Doris](https://github.com/apache/doris) works in real-world cases.
diff --git a/blog/Building-a-Data-Warehouse-for-Traditional-Industry.md b/blog/Building-a-Data-Warehouse-for-Traditional-Industry.md
index f623f67d2e4..8aa597c6aa9 100644
--- a/blog/Building-a-Data-Warehouse-for-Traditional-Industry.md
+++ b/blog/Building-a-Data-Warehouse-for-Traditional-Industry.md
@@ -172,4 +172,4 @@ Actually, before we evolved into our current data architecture, we tried Hive, S
On the other hand, to smoothen our big data transition, we need to make our data platform as simple as possible in terms of usage and maintenance. That's why we landed on Apache Doris. It is compatible with MySQL protocol and provides a rich collection of functions so we don't have to develop our own UDFs. Also, it is composed of only two types of processes: frontends and backends, so it is easy to scale and track.
-Find Apache Doris developers on [Discord](https://discord.gg/JemTbMKj).
+Find Apache Doris developers on [Discord](/discord).
diff --git a/blog/Building-the-Next-Generation-Data-Lakehouse-10X-Performance.md b/blog/Building-the-Next-Generation-Data-Lakehouse-10X-Performance.md
index 1c5ed5f9c1e..ecb647ad98b 100644
--- a/blog/Building-the-Next-Generation-Data-Lakehouse-10X-Performance.md
+++ b/blog/Building-the-Next-Generation-Data-Lakehouse-10X-Performance.md
@@ -249,5 +249,5 @@ http://doris.apache.org
https://github.com/apache/doris
-Find Apache Doris developers on [Discord](https://discord.gg/JemTbMKj).
+Find Apache Doris developers on [Discord](/discord).
diff --git a/blog/Database-Dissection-How-Fast-Data-Queries-Are-Implemented.md b/blog/Database-Dissection-How-Fast-Data-Queries-Are-Implemented.md
index 7b0da1356ea..01331c32fdf 100644
--- a/blog/Database-Dissection-How-Fast-Data-Queries-Are-Implemented.md
+++ b/blog/Database-Dissection-How-Fast-Data-Queries-Are-Implemented.md
@@ -134,7 +134,7 @@ The results are as below:
In short, what contributed to the fast data loading and data queries in this case?
- The Colocate mechanism that's designed for distributed computing
-- Collaboration between database users and [developers](https://discord.gg/JemTbMKj) that enables the operator merging
+- Collaboration between database users and [developers](/discord) that enables the operator merging
- Support for a wide range of data loading methods to choose from
- A vectorized engine that brings overall performance increase
diff --git a/blog/Database-in-Fintech-How-to-Support-ten-thousand-Dashboards-Without-Causing-a-Mess.md b/blog/Database-in-Fintech-How-to-Support-ten-thousand-Dashboards-Without-Causing-a-Mess.md
index 162699ad6a5..0af827b3f27 100644
--- a/blog/Database-in-Fintech-How-to-Support-ten-thousand-Dashboards-Without-Causing-a-Mess.md
+++ b/blog/Database-in-Fintech-How-to-Support-ten-thousand-Dashboards-Without-Causing-a-Mess.md
@@ -73,7 +73,7 @@ Analysts often check data reports of the same metrics on a regular basis. These
The complexity of data analysis in the financial industry lies in the data itself other than the engineering side. Thus, the underlying data architecture should focus on facilitating the unified and efficient management of data. Apache Doris provides the flexibility of simple metric registration and the ability of fast and resource-efficient metric computation. In this case, the user is able to handle 10,000 active financial metrics in 10,000 dashboards with 30% less ETL efforts.
-Find Apache Doris developers on [Discord](https://discord.gg/JemTbMKj).
+Find Apache Doris developers on [Discord](/discord).
diff --git a/blog/For-Entry-Level-Data-Engineers-How-to-Build-a-Simple-but-Solid-Data-Architecture.md b/blog/For-Entry-Level-Data-Engineers-How-to-Build-a-Simple-but-Solid-Data-Architecture.md
index 79ac92396df..5942fbe4ff5 100644
--- a/blog/For-Entry-Level-Data-Engineers-How-to-Build-a-Simple-but-Solid-Data-Architecture.md
+++ b/blog/For-Entry-Level-Data-Engineers-How-to-Build-a-Simple-but-Solid-Data-Architecture.md
@@ -100,4 +100,4 @@ Firstly, Apache Doris is famously fast in Join queries. So if you need to extrac
## Conclusion
-This is the overview of a simple data architecture and how it can provide the data services you need. It ensures data ingestion stability and quality with Flink CDC, and quick data analysis with Apache Doris. The deployment of this architecture is simple, too. If you plan for a data analytic upgrade for your business, you might refer to this case. If you need advice and help, you may join our [community here](https://discord.gg/JemTbMKj).
+This is the overview of a simple data architecture and how it can provide the data services you need. It ensures data ingestion stability and quality with Flink CDC, and quick data analysis with Apache Doris. The deployment of this architecture is simple, too. If you plan for a data analytic upgrade for your business, you might refer to this case. If you need advice and help, you may join our [community here](/discord).
diff --git a/blog/Is-Your-Latest-Data-Really-the-Latest-Check-the-Data-Update-Mechanism-of-Your-Database.md b/blog/Is-Your-Latest-Data-Really-the-Latest-Check-the-Data-Update-Mechanism-of-Your-Database.md
index d45ad309176..d8b8844dc69 100644
--- a/blog/Is-Your-Latest-Data-Really-the-Latest-Check-the-Data-Update-Mechanism-of-Your-Database.md
+++ b/blog/Is-Your-Latest-Data-Really-the-Latest-Check-the-Data-Update-Mechanism-of-Your-Database.md
@@ -223,5 +223,5 @@ mysql> select * from test_table;
## Conclusion
-Congratulations. Now you've gained an overview of how data updates are implemented in Apache Doris. With this knowledge, you can basically guarantee efficiency and accuracy of data updating. But wait, there is so much more about that. As Apache Doris 2.0 is going to provide more powerful Partial Column Update capabilities, with improved execution of the Update statement and the support for more complicated multi-table Join queries, I will show you how to take advantage of them in details [...]
+Congratulations. Now you've gained an overview of how data updates are implemented in Apache Doris. With this knowledge, you can basically guarantee efficiency and accuracy of data updating. But wait, there is so much more about that. As Apache Doris 2.0 is going to provide more powerful Partial Column Update capabilities, with improved execution of the Update statement and the support for more complicated multi-table Join queries, I will show you how to take advantage of them in details [...]
diff --git a/blog/Listen-to-That-Poor-BI-Engineer-We-Need-Fast-Joins.md b/blog/Listen-to-That-Poor-BI-Engineer-We-Need-Fast-Joins.md
index d03be8722fb..2882ea0db35 100644
--- a/blog/Listen-to-That-Poor-BI-Engineer-We-Need-Fast-Joins.md
+++ b/blog/Listen-to-That-Poor-BI-Engineer-We-Need-Fast-Joins.md
@@ -102,4 +102,4 @@ We believe self-service BI is the future in the BI landscape, just like AGI is t
-Find the Apache Doris developers on [Discord](https://discord.gg/JemTbMKj)
+Find the Apache Doris developers on [Discord](/discord)
diff --git a/blog/Log-Analysis-How-to-Digest-15-Billion-Logs-Per-Day-and-Keep-Big-Queries-Within-1-Second.md b/blog/Log-Analysis-How-to-Digest-15-Billion-Logs-Per-Day-and-Keep-Big-Queries-Within-1-Second.md
index 3962f66d307..202f2ea1014 100644
--- a/blog/Log-Analysis-How-to-Digest-15-Billion-Logs-Per-Day-and-Keep-Big-Queries-Within-1-Second.md
+++ b/blog/Log-Analysis-How-to-Digest-15-Billion-Logs-Per-Day-and-Keep-Big-Queries-Within-1-Second.md
@@ -88,7 +88,7 @@ These strategies have shortened the response time of queries. For example, a que
## Ongoing Plans
-The user is now testing with the newly added [inverted index](https://doris.apache.org/docs/table-design/index/inverted-index) in Apache Doris. It is designed to speed up full-text search of strings as well as equivalence and range queries of numerics and datetime. They have also provided their valuable feedback about the auto-bucketing logic in Doris: Currently, Doris decides the number of buckets for a partition based on the data size of the previous partition. The problem for the use [...]
+The user is now testing with the newly added [inverted index](https://doris.apache.org/docs/table-design/index/inverted-index) in Apache Doris. It is designed to speed up full-text search of strings as well as equivalence and range queries of numerics and datetime. They have also provided their valuable feedback about the auto-bucketing logic in Doris: Currently, Doris decides the number of buckets for a partition based on the data size of the previous partition. The problem for the use [...]
diff --git a/blog/Replacing-Apache-Hive-Elasticsearch-and-PostgreSQL-with-Apache-Doris.md b/blog/Replacing-Apache-Hive-Elasticsearch-and-PostgreSQL-with-Apache-Doris.md
index 47ce8c27ff6..35fe0818fa9 100644
--- a/blog/Replacing-Apache-Hive-Elasticsearch-and-PostgreSQL-with-Apache-Doris.md
+++ b/blog/Replacing-Apache-Hive-Elasticsearch-and-PostgreSQL-with-Apache-Doris.md
@@ -114,7 +114,7 @@ We have 2 clusters in Apache Doris accommodating tens of TBs of data, with almos

-Lastly, I would like to share with you something that interested us most when we first talked to the [Apache Doris community](https://discord.gg/JemTbMKj):
+Lastly, I would like to share with you something that interested us most when we first talked to the [Apache Doris community](/discord):
- Apache Doris supports data ingestion transactions so it can ensure data is written **exactly once**.
- It is well-integrated with the data ecosystem and can smoothly interface with most data sources and data formats.
diff --git a/blog/Say-Goodbye-to-OOM-Crashes.md b/blog/Say-Goodbye-to-OOM-Crashes.md
index f6dbababb4c..d1ef7ca4750 100644
--- a/blog/Say-Goodbye-to-OOM-Crashes.md
+++ b/blog/Say-Goodbye-to-OOM-Crashes.md
@@ -163,5 +163,5 @@ If the process memory consumed is beyond the MemLimit (90% of total system memor
After optimizations in memory allocation, memory tracking, and memory limit, we have substantially increased the stability and high-concurrency performance of Apache Doris as a real-time analytic data warehouse platform. OOM crash in the backend is a rare scene now. Even if there is an OOM, users can locate the problem root based on the logs and then fix it. In addition, with more flexible memory limits on queries and data ingestion, users don't have to spend extra effort taking care of [...]
-In the next phase, we plan to ensure completion of queries in memory overcommitment, which means less queries will have to be canceled due to memory shortage. We have broken this objective into specific directions of work: exception safety, memory isolation between resource groups, and the flushing mechanism of intermediate data. If you want to meet our developers, [this is where you find us](https://discord.gg/JemTbMKj).
+In the next phase, we plan to ensure completion of queries in memory overcommitment, which means less queries will have to be canceled due to memory shortage. We have broken this objective into specific directions of work: exception safety, memory isolation between resource groups, and the flushing mechanism of intermediate data. If you want to meet our developers, [this is where you find us](/discord).
diff --git a/blog/Tencent-Data-Engineers-Why-We-Went-from-ClickHouse-to-Apache-Doris.md b/blog/Tencent-Data-Engineers-Why-We-Went-from-ClickHouse-to-Apache-Doris.md
index ff4f1633d9f..dccaec26d6d 100644
--- a/blog/Tencent-Data-Engineers-Why-We-Went-from-ClickHouse-to-Apache-Doris.md
+++ b/blog/Tencent-Data-Engineers-Why-We-Went-from-ClickHouse-to-Apache-Doris.md
@@ -255,4 +255,4 @@ http://doris.apache.org
https://github.com/apache/doris
-Find Apache Doris developers on [Discord](https://discord.gg/JemTbMKj)
+Find Apache Doris developers on [Discord](/discord)
diff --git a/blog/Tiered-Storage-for-Hot-and-Cold-Data-What-Why-and-How.md b/blog/Tiered-Storage-for-Hot-and-Cold-Data-What-Why-and-How.md
index c1655e79340..e94f6225d24 100644
--- a/blog/Tiered-Storage-for-Hot-and-Cold-Data-What-Why-and-How.md
+++ b/blog/Tiered-Storage-for-Hot-and-Cold-Data-What-Why-and-How.md
@@ -353,7 +353,7 @@ Apache Doris 2.0 has been optimized for cold data queries. Only the first-time a
In Apache Doris, each data ingestion leads to the generation of a new Rowset, so the update of historical data will be put in a Rowset that is separated from those of newly loaded data. That’s how it makes sure the updating of cold data does not interfere with the ingestion of hot data. Once the rowsets cool down, they will be moved to S3 and deleted locally, and the updated historical data will go to the partition where it belongs.
-If you any questions, come find Apache Doris developers on [Discord](https://discord.gg/JemTbMKj). We will be happy to provide targeted support.
+If you any questions, come find Apache Doris developers on [Discord](/discord). We will be happy to provide targeted support.
diff --git a/blog/Understanding-Data-Compaction-in-3-Minutes.md b/blog/Understanding-Data-Compaction-in-3-Minutes.md
index a3a7de1a31f..d3d26e40931 100644
--- a/blog/Understanding-Data-Compaction-in-3-Minutes.md
+++ b/blog/Understanding-Data-Compaction-in-3-Minutes.md
@@ -128,4 +128,4 @@ Every data engineer has somehow been harassed by complicated parameters and conf
## Conclusion
-This is how we keep our "storekeepers" working efficiently and cost-effectively. If you wonder how these strategies and optimization work in real practice, we tested Apache Doris with ClickBench. It reaches a **compaction speed of 300,000 row/s**; in high-concurrency scenarios, it maintains **a stable compaction score of around 50**. Also, we are planning to implement auto-tuning and increase observability for the compaction mechanism. If you are interested in the [Apache Doris](https:// [...]
+This is how we keep our "storekeepers" working efficiently and cost-effectively. If you wonder how these strategies and optimization work in real practice, we tested Apache Doris with ClickBench. It reaches a **compaction speed of 300,000 row/s**; in high-concurrency scenarios, it maintains **a stable compaction score of around 50**. Also, we are planning to implement auto-tuning and increase observability for the compaction mechanism. If you are interested in the [Apache Doris](https:// [...]
diff --git a/blog/a-fast-secure-high-available-real-time-data-warehouse-based-on-apache-doris.md b/blog/a-fast-secure-high-available-real-time-data-warehouse-based-on-apache-doris.md
index 0defc26c81d..bc7e6525403 100644
--- a/blog/a-fast-secure-high-available-real-time-data-warehouse-based-on-apache-doris.md
+++ b/blog/a-fast-secure-high-available-real-time-data-warehouse-based-on-apache-doris.md
@@ -147,4 +147,4 @@ Disaster recovery is crucial for the financial industry. The user leverages the
## Conclusion
-We appreciate the user for their active [communication](https://discord.gg/JemTbMKj) with us along the way and are glad to see so many Apache Doris features fit in their needs. They are also planning on exploring federated query, compute-storage separation, and auto maintenance with Apache Doris. We look forward to more best practice and feedback from them.
\ No newline at end of file
+We appreciate the user for their active [communication](/discord) with us along the way and are glad to see so many Apache Doris features fit in their needs. They are also planning on exploring federated query, compute-storage separation, and auto maintenance with Apache Doris. We look forward to more best practice and feedback from them.
\ No newline at end of file
diff --git a/blog/a-financial-anti-fraud-solution-based-on-the-apache-doris-data-warehouse.md b/blog/a-financial-anti-fraud-solution-based-on-the-apache-doris-data-warehouse.md
index bad63ff1f99..ddd6c2849ae 100644
--- a/blog/a-financial-anti-fraud-solution-based-on-the-apache-doris-data-warehouse.md
+++ b/blog/a-financial-anti-fraud-solution-based-on-the-apache-doris-data-warehouse.md
@@ -105,4 +105,4 @@ So far, the bank has added nearly 100 alerting rules for various risk types to t
## Conclusion
-For a comprehensive anti-fraud solution, the bank conducts full-scale real-time monitoring and reporting for all their data workflows. Then, for each transaction, they look into the multiple dimensions of it to identify risks. For the suspicious transactions reported by the bank customers, they perform federated queries to retrieve the full details of them. Also, an auto alerting mechanism is always on patrol to safeguard the whole system. These are the various types of analytic workload [...]
\ No newline at end of file
+For a comprehensive anti-fraud solution, the bank conducts full-scale real-time monitoring and reporting for all their data workflows. Then, for each transaction, they look into the multiple dimensions of it to identify risks. For the suspicious transactions reported by the bank customers, they perform federated queries to retrieve the full details of them. Also, an auto alerting mechanism is always on patrol to safeguard the whole system. These are the various types of analytic workload [...]
\ No newline at end of file
diff --git a/blog/ai-unicorn-minimax-from-loki-and-built-a-pb-scale-logging-system-with-doris.md b/blog/ai-unicorn-minimax-from-loki-and-built-a-pb-scale-logging-system-with-doris.md
index 48c46aa07d3..7e058c9d510 100644
--- a/blog/ai-unicorn-minimax-from-loki-and-built-a-pb-scale-logging-system-with-doris.md
+++ b/blog/ai-unicorn-minimax-from-loki-and-built-a-pb-scale-logging-system-with-doris.md
@@ -143,4 +143,4 @@ After a successful initial experience with Apache Doris, MiniMax proceeds with t
- **Lakehousing**: expand the use of Apache Doris include big data processing and analysis within MiniMax, laying the foundation for a data lakehouse.
-If you have any questions or require assistance regarding Apache Doris, join the [community](https://discord.gg/JemTbMKj).
\ No newline at end of file
+If you have any questions or require assistance regarding Apache Doris, join the [community](/discord).
\ No newline at end of file
diff --git a/blog/apache-doris-for-log-and-time-series-data-analysis-in-netease.md b/blog/apache-doris-for-log-and-time-series-data-analysis-in-netease.md
index 8a055bf0048..27583a3aaa5 100644
--- a/blog/apache-doris-for-log-and-time-series-data-analysis-in-netease.md
+++ b/blog/apache-doris-for-log-and-time-series-data-analysis-in-netease.md
@@ -161,7 +161,7 @@ streaming_load_json_max_mb=250
During peak times, the data platform is undertaking up to 1 million TPS and a writing throughput of 1GB/s. This is demanding for the system. Meanwhile, at peak time, a large number of concurrent write operations are loading data into lots of tables, but each individual write operation only involves a small amount of data. Thus, it takes a long time to accumulate a batch, which is contradictory to the data freshness requirement from the query side.
-As a result, the data platform was bottlenecked by data backlogs in Apache Kafka. NetEase adopts the [Stream Load](https://doris.apache.org/docs/2.0/data-operate/import/stream-load-manual) method to ingest data from Kafka to Doris. So the key was to accelerate Stream Load. After talking to the [Apache Doris developers](https://discord.gg/JemTbMKj), NetEase adopted two optimizations for their log and time series data analysis:
+As a result, the data platform was bottlenecked by data backlogs in Apache Kafka. NetEase adopts the [Stream Load](https://doris.apache.org/docs/2.0/data-operate/import/stream-load-manual) method to ingest data from Kafka to Doris. So the key was to accelerate Stream Load. After talking to the [Apache Doris developers](/discord), NetEase adopted two optimizations for their log and time series data analysis:
- **Single replica data loading**: Load one data replica and pull data from it to generate more replicas. This avoids the overhead of ranking and creating indexes for multiple replicas.
@@ -234,4 +234,4 @@ If you want to enable `support_phrase` for existing tables that have already bee
## Conclusion
-Apache Doris supports the log and time series data analytic workloads of NetEase with higher query performance and less storage consumption. Beyond these, Apache Doris has other capabilities such as data lake analysis since it is designed as an all-in-one big data analytic platform. If you want a quick evaluation of whether Doris is right for your use case, come talk to the Doris makers on [Discord](https://discord.gg/JemTbMKj).
\ No newline at end of file
+Apache Doris supports the log and time series data analytic workloads of NetEase with higher query performance and less storage consumption. Beyond these, Apache Doris has other capabilities such as data lake analysis since it is designed as an all-in-one big data analytic platform. If you want a quick evaluation of whether Doris is right for your use case, come talk to the Doris makers on [Discord](/discord).
\ No newline at end of file
diff --git a/blog/apache-doris-speeds-up-data-reporting-tagging-and-data-lake-analytics.md b/blog/apache-doris-speeds-up-data-reporting-tagging-and-data-lake-analytics.md
index a2b612f84e9..9224da756be 100644
--- a/blog/apache-doris-speeds-up-data-reporting-tagging-and-data-lake-analytics.md
+++ b/blog/apache-doris-speeds-up-data-reporting-tagging-and-data-lake-analytics.md
@@ -90,6 +90,6 @@ For easier deployment, they have also optimized their Deploy on Yarn process via
## Conclusion
-For data reporting and customer tagging, Apache Doris smoothens data ingestion and merging steps, and delivers high query performance based on its own design and functionality. For data lake analytics, the user improves resource efficiency by elastic scaling of clusters using the Compute Node. Along their journey with Apache Doris, they have also developed a data ingestion task prioritizing mechanism and contributed it to the Doris project. A gesture to facilitate their use case ends up [...]
+For data reporting and customer tagging, Apache Doris smoothens data ingestion and merging steps, and delivers high query performance based on its own design and functionality. For data lake analytics, the user improves resource efficiency by elastic scaling of clusters using the Compute Node. Along their journey with Apache Doris, they have also developed a data ingestion task prioritizing mechanism and contributed it to the Doris project. A gesture to facilitate their use case ends up [...]
Check Apache Doris [repo](https://github.com/apache/doris) on GitHub
\ No newline at end of file
diff --git a/blog/apache-doris-summit-asia-2023-what-can-you-expect-from-apache-doris-as-a-data-warehouse.md b/blog/apache-doris-summit-asia-2023-what-can-you-expect-from-apache-doris-as-a-data-warehouse.md
index 9b438f4a9a5..663343762fd 100644
--- a/blog/apache-doris-summit-asia-2023-what-can-you-expect-from-apache-doris-as-a-data-warehouse.md
+++ b/blog/apache-doris-summit-asia-2023-what-can-you-expect-from-apache-doris-as-a-data-warehouse.md
@@ -174,4 +174,4 @@ From the self-developed pre-aggregation storage engine, materialized views, and
- We want to keep inspiring the data world by presenting more use cases.
- We want to provide more and better choices for users by collaborating with partners along the data pipeline and cloud service providers.
-By choosing Apache Doris, you choose to stay in the heartbeat of innovation. The [Apache Doris community](https://discord.gg/JemTbMKj) awaits newcomers.
+By choosing Apache Doris, you choose to stay in the heartbeat of innovation. The [Apache Doris community](/discord) awaits newcomers.
diff --git a/blog/arrow-flight-sql-in-apache-doris-for-10x-faster-data-transfer.md b/blog/arrow-flight-sql-in-apache-doris-for-10x-faster-data-transfer.md
index a2849e2de1d..b7b18d6589f 100644
--- a/blog/arrow-flight-sql-in-apache-doris-for-10x-faster-data-transfer.md
+++ b/blog/arrow-flight-sql-in-apache-doris-for-10x-faster-data-transfer.md
@@ -461,4 +461,4 @@ For Spark users, apart from connecting to Flight SQL Server using JDBC and JAVA,
A number of enterprise users of Doris has tried loading data from Doris to Python, Spark, and Flink using Arrow Flight SQL and enjoyed much faster data reading speed. In the future, we plan to include the support for Arrow Flight SQL in data writing, too. By then, most systems built with mainstream programming languages will be able to read and write data from/to Apache Doris by an ADBC client. That's high-speed data interaction which opens up numerous possibilities. On our to-do list, w [...]
-Download [Apache Doris 2.1](https://doris.apache.org/download/) and get a taste of 100 times faster data transfer powered by Arrow Flight SQL. If you need assistance, come find us in the [Apache Doris developer and user community](https://discord.gg/JemTbMKj).
+Download [Apache Doris 2.1](https://doris.apache.org/download/) and get a taste of 100 times faster data transfer powered by Arrow Flight SQL. If you need assistance, come find us in the [Apache Doris developer and user community](/discord).
diff --git a/blog/auto-increment-columns-in-databases.md b/blog/auto-increment-columns-in-databases.md
index 1ccc7ac16e4..8b0f8f4a713 100644
--- a/blog/auto-increment-columns-in-databases.md
+++ b/blog/auto-increment-columns-in-databases.md
@@ -408,5 +408,5 @@ Attention is required regarding:
## Conclusion
-AUTO_INCREMENT brings higher stability and reliability for Doris in large-scale data processing. If it sounds like something you need, download [Apache Doris](https://doris.apache.org/download/) and try it out. For issues you come across along the way, join us in the [Apache Doris developer and user community](https://discord.gg/JemTbMKj) and we are happy to help.
+AUTO_INCREMENT brings higher stability and reliability for Doris in large-scale data processing. If it sounds like something you need, download [Apache Doris](https://doris.apache.org/download/) and try it out. For issues you come across along the way, join us in the [Apache Doris developer and user community](/discord) and we are happy to help.
diff --git a/blog/auto-partition-in-apache-doris.md b/blog/auto-partition-in-apache-doris.md
index ec855465814..e3ff520a06f 100644
--- a/blog/auto-partition-in-apache-doris.md
+++ b/blog/auto-partition-in-apache-doris.md
@@ -479,4 +479,4 @@ Plans for Auto Partition by LIST:
- Allow merging multiple values into the same partition based on specific rules.
-Join [Apache Doris open-source community](https://discord.gg/JemTbMKj) for more information and further guidance.
\ No newline at end of file
+Join [Apache Doris open-source community](/discord) for more information and further guidance.
\ No newline at end of file
diff --git a/blog/breaking-down-data-silos-with-an-apache-doris-based-cdp.md b/blog/breaking-down-data-silos-with-an-apache-doris-based-cdp.md
index 6aab55ade78..37023d00cdd 100644
--- a/blog/breaking-down-data-silos-with-an-apache-doris-based-cdp.md
+++ b/blog/breaking-down-data-silos-with-an-apache-doris-based-cdp.md
@@ -130,4 +130,4 @@ In Apache Doris, this is implemented by the BITMAP functions: `BITMAP_CONTAINS`
## Conclusion
-From CDP 1.0 to CDP 2.0, the insurance company adopts Apache Doris, a unified data warehouse, to replace Spark+Impala+HBase+NebulaGraph. That increases their data processing efficiency by breaking down the data silos and streamlining data processing pipelines. In CDP 3.0 to come, they want to group their customer by combining real-time tags and offline tags for more diversified and flexible analysis. The [Apache Doris community](https://discord.gg/JemTbMKj) and the [VeloDB](https://www.v [...]
\ No newline at end of file
+From CDP 1.0 to CDP 2.0, the insurance company adopts Apache Doris, a unified data warehouse, to replace Spark+Impala+HBase+NebulaGraph. That increases their data processing efficiency by breaking down the data silos and streamlining data processing pipelines. In CDP 3.0 to come, they want to group their customer by combining real-time tags and offline tags for more diversified and flexible analysis. The [Apache Doris community](/discord) and the [VeloDB](https://www.velodb.io) team will [...]
\ No newline at end of file
diff --git a/blog/cross-cluster-replication-for-read-write.md b/blog/cross-cluster-replication-for-read-write.md
index 22ab23ae801..85911482f5d 100644
--- a/blog/cross-cluster-replication-for-read-write.md
+++ b/blog/cross-cluster-replication-for-read-write.md
@@ -112,6 +112,6 @@ In the grocery store brand's case, they need to synchronize a few tables from th
Using CCR in Apache Doris, the grocery store brand separates reading and writing workloads into different clusters and thus improves overall system stability. This solution delivers a real-time data synchronization latency of about 1 second. To further ensure normal functioning, it has a real-time monitoring and alerting mechanism so any issue will be notified and attended to instantly, and a contingency plan to guarantee uninterrupted query services. It also supports partition-based dat [...]
-CCR is also applicable when you need to build multiple data centers or derive a test dataset from your production environment. For further guidance on CCR, join the [Apache Doris community](https://discord.gg/JemTbMKj).
+CCR is also applicable when you need to build multiple data centers or derive a test dataset from your production environment. For further guidance on CCR, join the [Apache Doris community](/discord).
\ No newline at end of file
diff --git a/blog/data-analysis-for-live-streaming-what-happens-in-real-time-is-analyzed-in-real-time.md b/blog/data-analysis-for-live-streaming-what-happens-in-real-time-is-analyzed-in-real-time.md
index b9cdbd76fd8..bba049242f1 100644
--- a/blog/data-analysis-for-live-streaming-what-happens-in-real-time-is-analyzed-in-real-time.md
+++ b/blog/data-analysis-for-live-streaming-what-happens-in-real-time-is-analyzed-in-real-time.md
@@ -214,7 +214,7 @@ limit 1,10;
## Conclusion
-Data analysis in live streaming is challenging for the underlying database, but it is also where the key competitiveness of Apache Doris comes to play. First of all, Apache Doris can handle most data processing workloads, so platform builders don't have to worry about putting many components together and consequential maintenance issues. Secondly, it has a lot of query-accelerating features, including but not limited to indexes. After tackling the speed issues, the [Apache Doris develope [...]
+Data analysis in live streaming is challenging for the underlying database, but it is also where the key competitiveness of Apache Doris comes to play. First of all, Apache Doris can handle most data processing workloads, so platform builders don't have to worry about putting many components together and consequential maintenance issues. Secondly, it has a lot of query-accelerating features, including but not limited to indexes. After tackling the speed issues, the [Apache Doris develope [...]
diff --git a/blog/empowering-cyber-security-by-enabling-seven-times-faster-log-analysis.md b/blog/empowering-cyber-security-by-enabling-seven-times-faster-log-analysis.md
index f4f039b71ce..9453eacc88e 100644
--- a/blog/empowering-cyber-security-by-enabling-seven-times-faster-log-analysis.md
+++ b/blog/empowering-cyber-security-by-enabling-seven-times-faster-log-analysis.md
@@ -140,4 +140,4 @@ Apart from cluster management, Doris Manager provides a visualized WebUI for log

-After a month-long trial run, they officially replaced their old LSAS with the Apache Doris-based system for production, and achieved great results as they expected. Now, they ingest their 100s of billions of new logs every day via the [Routine Load](https://doris.apache.org/docs/dev/data-operate/import/import-way/routine-load-manual/) method at a speed 3 times as fast as before. Among the 7-time overall query performance increase, they benefit from a speedup of over 20 times in full-tex [...]
+After a month-long trial run, they officially replaced their old LSAS with the Apache Doris-based system for production, and achieved great results as they expected. Now, they ingest their 100s of billions of new logs every day via the [Routine Load](https://doris.apache.org/docs/dev/data-operate/import/import-way/routine-load-manual/) method at a speed 3 times as fast as before. Among the 7-time overall query performance increase, they benefit from a speedup of over 20 times in full-tex [...]
diff --git a/blog/evolution-of-the-apache-doris-execution-engine.md b/blog/evolution-of-the-apache-doris-execution-engine.md
index b3622201045..6b81e389c1b 100644
--- a/blog/evolution-of-the-apache-doris-execution-engine.md
+++ b/blog/evolution-of-the-apache-doris-execution-engine.md
@@ -230,4 +230,4 @@ From the Volcano Model to the Pipeline Execution Engine, Apache Doris 2.0.0 has
What's next in our roadmap is to support spilling data to disk in PipelineX to further improve query speed and system reliability. We also plan to advance further in terms of automation, such as self-adaptive concurrency and auto execution plan optimization, accompanied by NUMA technologies to harvest better performance from hardware resources.
-If you want to talk to the amazing Doris developers who lead these changes, you are more than welcome to join the [Apache Doris](https://discord.gg/JemTbMKj) community.
\ No newline at end of file
+If you want to talk to the amazing Doris developers who lead these changes, you are more than welcome to join the [Apache Doris](/discord) community.
\ No newline at end of file
diff --git a/blog/from-elasticsearch-to-apache-doris-upgrading-an-observability-platform.md b/blog/from-elasticsearch-to-apache-doris-upgrading-an-observability-platform.md
index 212f2c5bcca..ab56bd2deb2 100644
--- a/blog/from-elasticsearch-to-apache-doris-upgrading-an-observability-platform.md
+++ b/blog/from-elasticsearch-to-apache-doris-upgrading-an-observability-platform.md
@@ -161,8 +161,8 @@ Currently, the Variant type requires extra type assertion, we plan to automate t
## Conclusion
-GuanceDB's transition from Elasticsearch to Apache Doris showcases a big stride in improving data processing speed and reducing costs. For these purposes, Apache Doris has optimized itself in the two major aspects of data processing: data integration and data analysis. It has expanded its schemaless support to flexibly accommodate more data types, introduced features like inverted index and tiered storage to enable faster and more cost-effective queries. Evolution is an ongoing process. [...]
+GuanceDB's transition from Elasticsearch to Apache Doris showcases a big stride in improving data processing speed and reducing costs. For these purposes, Apache Doris has optimized itself in the two major aspects of data processing: data integration and data analysis. It has expanded its schemaless support to flexibly accommodate more data types, introduced features like inverted index and tiered storage to enable faster and more cost-effective queries. Evolution is an ongoing process. [...]
Check Apache Doris GitHub [repo](https://github.com/apache/doris)
-Find Apache Doris makers on [Discord](https://discord.gg/JemTbMKj)
+Find Apache Doris makers on [Discord](/discord)
diff --git a/blog/how-big-data-is-saving-lives-in-real-time-iov-data-analytics-helps-prevent-accidents.md b/blog/how-big-data-is-saving-lives-in-real-time-iov-data-analytics-helps-prevent-accidents.md
index 9e97931412b..55014aad2e7 100644
--- a/blog/how-big-data-is-saving-lives-in-real-time-iov-data-analytics-helps-prevent-accidents.md
+++ b/blog/how-big-data-is-saving-lives-in-real-time-iov-data-analytics-helps-prevent-accidents.md
@@ -110,5 +110,5 @@ Building a data platform to suit your use case is not easy, I hope this post hel
Apache Doris [GitHub repo](https://github.com/apache/doris)
-Find Apache Doris makers on [Discord](https://discord.gg/JemTbMKj)
+Find Apache Doris makers on [Discord](/discord)
diff --git a/blog/introduction-to-apache-doris-a-next-generation-real-time-data-warehouse.md b/blog/introduction-to-apache-doris-a-next-generation-real-time-data-warehouse.md
index c7542430742..9aef5b073ca 100644
--- a/blog/introduction-to-apache-doris-a-next-generation-real-time-data-warehouse.md
+++ b/blog/introduction-to-apache-doris-a-next-generation-real-time-data-warehouse.md
@@ -171,4 +171,4 @@ Roughly speaking, for a data asset consisting of 80% cold data, tiered storage w
## The Apache Doris Community
-This is an overview of Apache Doris, an open-source real-time data warehouse. It is actively evolving with an agile release schedule, and the [community](https://discord.gg/JemTbMKj) embraces any questions, ideas, and feedback.
+This is an overview of Apache Doris, an open-source real-time data warehouse. It is actively evolving with an agile release schedule, and the [community](/discord) embraces any questions, ideas, and feedback.
diff --git a/blog/inverted-index-accelerates-text-searches-by-40-time-apache-doris.md b/blog/inverted-index-accelerates-text-searches-by-40-time-apache-doris.md
index f0972a8390b..9fcaab99721 100644
--- a/blog/inverted-index-accelerates-text-searches-by-40-time-apache-doris.md
+++ b/blog/inverted-index-accelerates-text-searches-by-40-time-apache-doris.md
@@ -508,4 +508,4 @@ Inverted index has been available in Apache Doris for almost a year and stood th
- **Self-defined tokenization**: provides a user-defined tokenizer to fit in different use cases.
- **More data types**: Users will be able to create inverted index for complex data types including Array and Map.
-If you encounter any issues while trying it out in Apache Doris or would like to know more details, join our [Discord](https://discord.gg/JemTbMKj) community and talk to us!
+If you encounter any issues while trying it out in Apache Doris or would like to know more details, join our [Discord](/discord) community and talk to us!
diff --git a/blog/job-scheduler-for-task-automation.md b/blog/job-scheduler-for-task-automation.md
index 8b54f090155..87b13b3c86a 100644
--- a/blog/job-scheduler-for-task-automation.md
+++ b/blog/job-scheduler-for-task-automation.md
@@ -202,7 +202,7 @@ In addition, for transactional tasks, the Job Scheduler can ensure data consiste
The Doris Job Scheduler is a Swiss Army Knife. It is not only useful in ETL and data lake analytics as we mentioned, but also critical for the implementation of [asynchronous materialized views](https://doris.apache.org/docs/query/view-materialized-view/async-materialized-view). An asynchronous materialized view is a pre-computed result set. Unlike normal materialized views, it can be built on multiple tables. Thus, as you can imagine, changes in any of the source tables will lead to the [...]
-Where are we going with the Doris Job Scheduler? The [Apache Doris developer community](https://discord.gg/JemTbMKj) is looking at:
+Where are we going with the Doris Job Scheduler? The [Apache Doris developer community](/discord) is looking at:
- Displaying the distribution of tasks executed in different time slots on the WebUI.
diff --git a/blog/llm-observability.md b/blog/llm-observability.md
new file mode 100644
index 00000000000..393be20d0fc
--- /dev/null
+++ b/blog/llm-observability.md
@@ -0,0 +1,320 @@
+---
+{
+ 'title': 'What Is LLM Observability? Metrics, Tools, and How It Works in AI Systems',
+ 'summary': 'Learn what LLM observability is, how it works, key metrics to track, and how it fits into modern AI systems like RAG. Includes tools, architecture, and best practices.',
+ 'description': 'Learn what LLM observability is, how it works, key metrics to track, and how it fits into modern AI systems like RAG. Includes tools, architecture, and best practices.',
+ 'keywords': ['llm observability', 'what is llm observability', 'llm monitoring and observability'],
+ 'date': '2026-04-10',
+ 'author': 'Apache Doris',
+ 'tags': ['Glossary'],
+ "image": '/images/llm-observability.png',
+}
+---
+
+## What Is LLM Observability?
+
+**LLM observability** is the ability to understand, monitor, and debug how a large language model behaves in a real-world application.
+
+In practice, it focuses on making LLM systems more transparent by capturing what the model sees, what it produces, and how it arrives at those outputs across a full interaction.
+
+It typically includes:
+
+- tracing LLM calls and multi-step workflows
+- monitoring inputs (prompts, context) and outputs
+- evaluating response quality and correctness
+- tracking latency, token usage, and cost
+- analyzing how system components (e.g., retrieval, tools) influence results
+
+Unlike traditional monitoring, which focuses on system health (such as uptime or error rates), LLM observability focuses on **model behavior and decision outcomes**.
+
+This distinction is important because LLM systems are not purely deterministic. Observability is not just about detecting failures—it is about understanding why a response was generated, whether it was appropriate, and how it could be improved.
+
+In modern AI applications, LLM observability often spans the entire pipeline, including prompt construction, retrieval (in RAG systems), model inference, and post-processing. This broader scope helps teams debug issues such as hallucinations, irrelevant answers, or inconsistent behavior.
+
+## Why LLM Observability Matters (Beyond Traditional Monitoring)
+
+LLM systems are fundamentally harder to monitor than traditional software systems.
+
+The main reasons include:
+
+- **Non-deterministic outputs:** The same input can produce different responses, making issues difficult to reproduce and debug.
+- **Prompt-driven behavior:** Small changes in prompts or context can lead to large differences in output, even when the underlying model remains the same.
+- **Hidden reasoning (black-box models):** Most LLMs do not expose internal reasoning processes, so developers must rely on indirect signals to understand behavior.
+- **Multi-step pipelines (RAG and agents):** Many systems involve retrieval, tool usage, or chained model calls, where failures can originate from multiple points.
+
+As a result, traditional monitoring signals—such as latency, uptime, or error rates—provide only a partial view of system performance.
+
+LLM observability is designed to address this gap by providing visibility into how inputs are transformed into outputs across the entire system.
+
+It helps answer questions such as:
+
+- Why did the model generate this response?
+- Was the retrieved context relevant?
+- Is the issue caused by the prompt, the model, or the data?
+- How does output quality change over time?
+
+In practice, this deeper visibility is essential for:
+
+- debugging hallucinations and incorrect answers
+- improving prompt and system design
+- maintaining consistent user experience
+- controlling cost and performance at scale
+
+Without observability, LLM systems can appear to work while silently degrading in quality or reliability. With observability, teams can move from reactive debugging to systematic improvement.
+
+## What to Monitor in LLM Systems (Key Signals)
+
+The most important signals in LLM observability include both **system-level metrics** and **model-specific signals** that reflect how the LLM behaves in real-world usage.
+
+In practice, effective observability focuses not just on whether the system is running, but whether it is producing useful, reliable, and cost-efficient outputs.
+
+### Input and Prompt Monitoring
+
+Tracking prompts and user inputs helps identify issues at the very beginning of the pipeline.
+
+This includes:
+
+- prompt injection or unsafe inputs
+- unclear or poorly structured prompts
+- unexpected user behavior patterns
+
+Because LLM outputs are highly sensitive to input phrasing, even small changes in prompts can lead to significantly different results. Monitoring inputs is often the fastest way to diagnose inconsistent behavior.
+
+### Output Quality and Evaluation
+
+Evaluating outputs is one of the most important—and most challenging—parts of LLM observability.
+
+Common evaluation dimensions include:
+
+- relevance (does the answer match the question?)
+- correctness (is the information accurate?)
+- consistency (does the model behave predictably?)
+- safety (does the output avoid harmful or biased content?)
+
+In practice, most systems combine:
+
+- automated evaluation (e.g., scoring, heuristics)
+- human review or feedback loops
+
+Since many LLM tasks are open-ended, output quality cannot be captured by a single metric and often requires context-aware evaluation.
+
+### Latency and Cost
+
+LLM systems often introduce a new category of operational constraints: **cost per request**.
+
+Key signals include:
+
+- response time (end-to-end latency)
+- token usage (input and output tokens)
+- cost per query or per user
+
+Monitoring these signals is essential not only for performance optimization but also for maintaining sustainable system design at scale.
+
+In many cases, improving latency or reducing token usage can have a direct impact on both user experience and infrastructure cost.
+
+### Retrieval Quality (RAG Systems)
+
+In systems that use Retrieval-Augmented Generation (RAG), many failures originate from the retrieval step rather than the model itself.
+
+Important signals include:
+
+- whether relevant documents are retrieved
+- how well retrieved context matches the user query
+- whether the model actually uses the retrieved information
+
+Poor retrieval can lead to hallucinations or irrelevant answers, even when the underlying model performs well. This is why retrieval monitoring is a critical part of LLM observability. In systems that rely heavily on retrieval, analyzing retrieval logs and query patterns becomes critical. This often requires systems capable of handling large volumes of structured and semi-structured data, where analytical databases such as [Apache Doris](https://doris.apache.org) may be used to support q [...]
+
+### Errors, Failures, and Edge Cases
+
+LLM failures often look different from traditional system errors.
+
+Instead of explicit crashes, issues may appear as:
+
+- incomplete or vague responses
+- hallucinated or fabricated information
+- incorrect tool usage in agent systems
+- unexpected or off-topic outputs
+
+These edge cases are often harder to detect because they may not trigger standard error signals. Observability systems therefore need to capture both explicit failures and subtle quality degradations.
+
+### A Practical Insight
+
+No single metric can fully capture LLM performance.
+
+Most production systems rely on a combination of:
+
+- quantitative metrics (latency, token usage, error rates)
+- qualitative evaluation (human feedback, relevance scoring)
+- system-level signals (retrieval quality, workflow traces)
+
+Effective LLM observability is not about tracking more metrics—it is about tracking the right signals and understanding how they interact.
+
+## How LLM Observability Works (System-Level View)
+
+In a modern AI system, observability is not a single component—it spans the entire pipeline.
+
+A typical LLM-powered workflow looks like this:
+
+
+
+Observability works by capturing signals at each step of this pipeline.
+
+For example:
+
+- tracing how a request flows through multiple components
+- capturing prompts and generated outputs
+- logging retrieval results and context
+- measuring latency and token usage
+- evaluating output quality
+
+This allows teams to reconstruct what happened during a specific interaction and identify where issues originate—whether in the prompt, retrieval step, or model response.
+
+In practice, observability data is often analyzed across many interactions, helping identify recurring failure patterns, performance bottlenecks, or cost inefficiencies.
+
+## LLM Observability vs Monitoring vs AI Observability
+
+These terms are often used interchangeably, but they represent different levels of system visibility and serve different purposes in practice.
+
+At a high level:
+
+- **Monitoring** focuses on detecting issues through metrics and alerts
+- **Observability** focuses on understanding system behavior
+- **LLM observability** focuses specifically on how language models behave in real-world applications
+- **AI observability** covers broader machine learning systems beyond just LLMs
+
+The main differences include:
+
+| Concept | Focus |
+| ----------------- | ------------------------------------------------------------ |
+| Monitoring | Tracks system metrics such as latency, uptime, and errors |
+| Observability | Provides deeper insight into system behavior using logs, traces, and metrics |
+| LLM Observability | Focuses on prompts, outputs, and model behavior in LLM systems |
+| AI Observability | Covers broader machine learning systems, including training and inference |
+
+### A Practical Way to Think About the Differences
+
+A useful way to understand the relationship between these concepts is:
+
+- Monitoring tells you **when something is wrong**
+- Observability helps you understand **why it is wrong**
+- LLM observability explains **how the model contributed to the problem**
+- AI observability provides **a broader view across all ML systems**
+
+These layers are not mutually exclusive—they are often used together in production systems.
+
+## Common Challenges in LLM Observability
+
+In practice, implementing LLM observability is far from trivial.
+
+Unlike traditional systems, many issues in LLM applications are not clearly defined as “failures,” which makes them harder to detect and diagnose.
+
+Key challenges include:
+
+### Evaluating subjective outputs
+
+Many LLM responses do not have a single correct answer. A response can be technically correct but still irrelevant, incomplete, or poorly phrased. This makes evaluation highly context-dependent and difficult to standardize.
+
+### Lack of ground truth
+
+In many use cases—such as open-ended Q&A or conversational systems—there is no definitive reference answer. As a result, it can be difficult to measure accuracy or track improvements over time.
+
+### High cost of logging and storage
+
+Capturing prompts, outputs, traces, and intermediate steps at scale can quickly become expensive. Teams often need to balance observability depth with storage and processing costs.
+
+### Debugging multi-step pipelines
+
+Modern LLM systems often include retrieval (RAG), tools, or chained model calls. When something goes wrong, the root cause may lie in any part of the pipeline, making debugging more complex.
+
+### Noisy signals (false positives)
+
+Metrics do not always reflect real user experience. For example, a response may pass automated evaluation but still be unhelpful to users, or vice versa.
+
+A common pattern is that collecting observability data is relatively easy, but interpreting it correctly—and turning it into actionable improvements—is significantly harder.
+
+## LLM Observability Tools (And How to Choose)
+
+LLM observability tools generally fall into a few categories, each addressing a different part of the problem.
+
+### Tracing-focused tools
+
+These tools capture how requests flow through the system, including prompts, model calls, and intermediate steps. They are useful for debugging workflows and understanding execution paths.
+
+### Evaluation-focused tools
+
+These tools focus on measuring output quality using automated scoring, benchmarks, or human feedback. They help assess whether the system is producing useful and accurate results.
+
+### Full-stack observability platforms
+
+These platforms combine tracing, evaluation, and monitoring, providing a more complete view of system behavior across the entire pipeline.
+
+Choosing the right approach depends on several factors:
+
+- the complexity of the application (simple chat vs multi-step AI systems)
+- whether the system includes RAG or agents
+- the need for real-time monitoring versus offline analysis
+- scalability, data volume, and cost constraints
+
+In practice, many production systems use a combination of tools rather than relying on a single solution.
+
+A useful way to think about this is that tracing helps you understand **what happened**, evaluation helps you understand **how good the result was**, and monitoring helps you track **system performance over time**.
+
+## Best Practices for LLM Monitoring and Observability
+
+Common best practices include:
+
+### Start with tracing before optimization
+
+Before improving performance or quality, it is important to understand how the system behaves end-to-end. Tracing provides the foundation for identifying bottlenecks and failure points.
+
+### Evaluate outputs, not just system metrics
+
+Latency and cost are important, but they do not reflect whether the system is actually useful. Output quality—relevance, correctness, and clarity—should be treated as a first-class signal.
+
+### Combine automated and human evaluation
+
+Automated metrics can scale, but they may miss subtle issues in language quality. Human feedback helps capture real-world usefulness and edge cases.
+
+### Monitor retrieval in RAG systems
+
+In many cases, issues attributed to the model are actually caused by poor retrieval. Monitoring retrieval quality is essential for diagnosing these problems.
+
+### Design for cost visibility early
+
+Token usage and infrastructure costs can increase rapidly as usage grows. Tracking cost-related metrics early helps prevent unexpected scaling issues.
+
+In practice, effective observability is not about collecting more data, but about focusing on the signals that directly impact system behavior and user experience.
+
+## The Future of LLM Observability
+
+LLM observability is evolving as AI systems become more complex and move into production environments.
+
+Several trends are emerging:
+
+### Agent observability
+
+As AI agents become more common, observability is expanding to cover multi-step reasoning, tool usage, and decision chains rather than single model calls.
+
+### Real-time evaluation
+
+Systems are shifting from offline analysis to continuous, real-time feedback, allowing faster iteration and adaptation.
+
+### AI-native monitoring approaches
+
+New approaches are being developed specifically for generative AI workloads, where traditional monitoring methods are not sufficient.
+
+### Feedback-driven improvement loops
+
+User interactions, feedback signals, and evaluation results are increasingly used to continuously improve prompts, retrieval strategies, and system behavior.
+
+Overall, LLM observability is increasingly becoming an important part of how AI systems are designed, operated, and improved over time.
+
+## FAQ
+
+### Why is observability critical for LLMs?
+
+LLM observability helps control costs, reduce the risk of hallucinations or harmful outputs, and continuously improve prompt quality and system performance.
+
+### What are traces in LLM observability?
+
+Traces record the full sequence of events in an LLM system—from user input to final output—including prompt construction, retrieval steps, API calls, and model responses. They are essential for debugging and understanding system behavior.
\ No newline at end of file
diff --git a/blog/log-analysis-elasticsearch-vs-apache-doris.md b/blog/log-analysis-elasticsearch-vs-apache-doris.md
index bb042e8891b..5c988ef9bc4 100644
--- a/blog/log-analysis-elasticsearch-vs-apache-doris.md
+++ b/blog/log-analysis-elasticsearch-vs-apache-doris.md
@@ -351,4 +351,4 @@ SELECT * FROM log_table WHERE request MATCH_ALL 'image faq' ORDER BY ts DESC LIM
If you are looking for an efficient log analytic solution, Apache Doris is friendly to anyone equipped with SQL knowledge; if you find friction with the ELK stack, try Apache Doris provides better schema-free support, enables faster data writing and queries, and brings much less storage burden.
-But we won't stop here. We are going to provide more features to facilitate log analysis. We plan to add more complicated data types to inverted index, and support BKD index to make Apache Doris a fit for geo data analysis. We also plan to expand capabilities in semi-structured data analysis, such as working on the complex data types (Array, Map, Struct, JSON) and high-performance string matching algorithm. And we welcome any [user feedback and development advice](https://discord.gg/JemTbMKj).
+But we won't stop here. We are going to provide more features to facilitate log analysis. We plan to add more complicated data types to inverted index, and support BKD index to make Apache Doris a fit for geo data analysis. We also plan to expand capabilities in semi-structured data analysis, such as working on the complex data types (Array, Map, Struct, JSON) and high-performance string matching algorithm. And we welcome any [user feedback and development advice](/discord).
diff --git a/blog/migrate-lakehouse-from-bigquery-to-doris.md b/blog/migrate-lakehouse-from-bigquery-to-doris.md
index a13ba9b7958..1393106ee29 100644
--- a/blog/migrate-lakehouse-from-bigquery-to-doris.md
+++ b/blog/migrate-lakehouse-from-bigquery-to-doris.md
@@ -32,7 +32,7 @@ under the License.
-->
:::tip Special Thanks
-The Apache Doris community would like to extend our gratitude to Dien for sharing his valuable experience and best practices in migrating from BigQuery to Apache Doris in this insightful and informative article. Dien is also an active member of the Apache Doris open-source [community](https://discord.gg/JemTbMKj), and we are truly appreciative of his ongoing support.
+The Apache Doris community would like to extend our gratitude to Dien for sharing his valuable experience and best practices in migrating from BigQuery to Apache Doris in this insightful and informative article. Dien is also an active member of the Apache Doris open-source [community](/discord), and we are truly appreciative of his ongoing support.
:::
This article is written by [Dien, Tran Thanh](https://www.linkedin.com/in/dien-tran-thanh-19275b14a/) and originally posted on [Medium](https://dientt.medium.com/migrate-data-platform-từ-bigquery-sang-apache-doris-giúp-giảm-chi-phí-từ-6-000-xuống-còn-1-500-40ba9b22967e).
@@ -183,7 +183,7 @@ The implementation was carried out by 1 Data Engineer, 1 Software Engineer, and
- Data replication between nodes can sometimes lose synchronization due to network issues or other reasons, and the automatic replication retry mechanism may not be successful. In such cases, it is necessary to set up an external worker mechanism for automatic handling (Doris manages a storage unit called Tablet. The metadata on each node records the ETL data into a specific table, and the metadata version gets updated. Doris provides a SQL-based method to handle desynchronization).
-- New versions may occasionally have bugs, so it's recommended to check if the [community](https://discord.gg/JemTbMKj) has reported any issues before deciding to upgrade.
+- New versions may occasionally have bugs, so it's recommended to check if the [community](/discord) has reported any issues before deciding to upgrade.
- Limited support for processing Vietnamese text, with the full-text search feature not performing well in Vietnamese.
diff --git a/blog/migrating-from-clickhouse-to-apache-doris-what-happened.md b/blog/migrating-from-clickhouse-to-apache-doris-what-happened.md
index 05ee50c7a60..00a55ce1f35 100644
--- a/blog/migrating-from-clickhouse-to-apache-doris-what-happened.md
+++ b/blog/migrating-from-clickhouse-to-apache-doris-what-happened.md
@@ -160,4 +160,4 @@ In terms of CPU and memory consumption, Apache Doris maintained stable cluster l
## Future Directions
-As the migration goes on, the user works closely with the [Doris community](https://discord.gg/JemTbMKj), and their feedback has contributed to the making of [Apache Doris 2.0.0](https://doris.apache.org/docs/dev/releasenotes/release-2.0.0/). We will continue assisting them in their migration from Kylin and Druid to Doris, and we look forward to see their Doris-based unified data platform come into being.
+As the migration goes on, the user works closely with the [Doris community](/discord), and their feedback has contributed to the making of [Apache Doris 2.0.0](https://doris.apache.org/docs/dev/releasenotes/release-2.0.0/). We will continue assisting them in their migration from Kylin and Druid to Doris, and we look forward to see their Doris-based unified data platform come into being.
diff --git a/blog/multi-tenant-workload-isolation-in-apache-doris.md b/blog/multi-tenant-workload-isolation-in-apache-doris.md
index 5371675b98b..1e05b945925 100644
--- a/blog/multi-tenant-workload-isolation-in-apache-doris.md
+++ b/blog/multi-tenant-workload-isolation-in-apache-doris.md
@@ -222,4 +222,4 @@ In future releases, we will keep improving user experience of the Workload Group
- The main idea of Resource Tag is to group the BE nodes, while that of Workload Group is to further divide the resources of a single BE node. For users to grasp these ideas, they need to learn about the concept of BE nodes in Doris first. However, from an operational perspective, users only need to understand the resource consumption percentage of each of their workloads and what priority they should have when cluster load is saturated. Thus, we will try and figure out a way to flatten [...]
-For further assistance on workload isolation in Apache Doris, join the [Apache Doris community](https://discord.gg/JemTbMKj).
\ No newline at end of file
+For further assistance on workload isolation in Apache Doris, join the [Apache Doris community](/discord).
\ No newline at end of file
diff --git a/blog/release-note-2.0.0.md b/blog/release-note-2.0.0.md
index 8188700465a..10692362bdc 100644
--- a/blog/release-note-2.0.0.md
+++ b/blog/release-note-2.0.0.md
@@ -235,5 +235,5 @@ This feature allows for higher availability of data, read/write workload separat
To make Apache Doris 2.0.0 production-ready, we invited hundreds of enterprise users to engage in the testing and optimized it for better performance, stability, and usability. In the next phase, we will continue responding to user needs with agile release planning. We plan to launch 2.0.1 in late August and 2.0.2 in September, as we keep fixing bugs and adding new features. We also plan to release an early version of 2.1 in September to bring a few long-requested capabilities to you. Fo [...]
-If you have any questions or ideas when investigating, testing, and deploying Apache Doris, please find us on [Discord](https://discord.gg/JemTbMKj). Our developers will be happy to hear them and provide targeted support.
+If you have any questions or ideas when investigating, testing, and deploying Apache Doris, please find us on [Discord](/discord). Our developers will be happy to hear them and provide targeted support.
diff --git a/blog/release-note-2.1.0.md b/blog/release-note-2.1.0.md
index 1bfbb4413d0..7bc0d2f5adf 100644
--- a/blog/release-note-2.1.0.md
+++ b/blog/release-note-2.1.0.md
@@ -40,7 +40,7 @@ Dear Apache Doris community, we are thrilled to announce the advent of Apache Do
- **Better workload management**: optimizations of the Workload Group mechanism for higher performance stability and the display of SQL resource consumption in the runtime.
-We appreciate the 237 contributors who made nearly 6000 commits in total to the Apache Doris project, and the nearly 100 enterprise users who provided valuable feedback. We will keep aiming for the stars with our agile release planning, and we appreciate your feedback in the [Apache Doris developer and user community](https://discord.gg/JemTbMKj).
+We appreciate the 237 contributors who made nearly 6000 commits in total to the Apache Doris project, and the nearly 100 enterprise users who provided valuable feedback. We will keep aiming for the stars with our agile release planning, and we appreciate your feedback in the [Apache Doris developer and user community](/discord).
**Download from GitHub**: https://github.com/apache/doris/releases
diff --git a/blog/release-note-3.0.0.md b/blog/release-note-3.0.0.md
index c1156e8f981..2de20c39fdf 100644
--- a/blog/release-note-3.0.0.md
+++ b/blog/release-note-3.0.0.md
@@ -463,7 +463,7 @@ Before the official release of version 3.0, the compute-storage decoupled mode o
We highly recommend users with compute-storage decoupling needs to download version 3.0 and experience it firsthand.
-Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](https://discord.gg/JemTbMKj) and engage directly with the core developers.
+Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](/discord) and engage directly with the core developers.
## Credits
diff --git a/blog/tencent-music-migrate-elasticsearch-to-doris.md b/blog/tencent-music-migrate-elasticsearch-to-doris.md
index 75ff6689c00..f394d8b83ec 100644
--- a/blog/tencent-music-migrate-elasticsearch-to-doris.md
+++ b/blog/tencent-music-migrate-elasticsearch-to-doris.md
@@ -186,4 +186,4 @@ The migration from Elasticsearch to Apache Doris has yielded impressive gains. W
By replacing its Elasticsearch cluster with Doris, TME has unified its content library's search and analytics engines into a single, streamlined platform. The system now supports complex custom tag-based segmentation with sub-second response. The next-phase plan of TME is to explore broader use cases of Apache Doris and prepare to adopt the [compute-storage decoupled mode](https://doris.apache.org/docs/3.0/compute-storage-decoupled/overview) to drive even greater cost efficiency.
-For direct communication, real-world insights, and best practices, join [#elasticsearch-to-doris](https://apachedoriscommunity.slack.com/archives/C08CQKX20R5) channel in the [Apache Doris community](https://discord.gg/JemTbMKj).
\ No newline at end of file
+For direct communication, real-world insights, and best practices, join [#elasticsearch-to-doris](https://apachedoriscommunity.slack.com/archives/C08CQKX20R5) channel in the [Apache Doris community](/discord).
\ No newline at end of file
diff --git a/blog/variant-in-apache-doris-2.1.md b/blog/variant-in-apache-doris-2.1.md
index 4a664321179..66771e9eafb 100644
--- a/blog/variant-in-apache-doris-2.1.md
+++ b/blog/variant-in-apache-doris-2.1.md
@@ -428,4 +428,4 @@ The Doris-based solution also delivers lower CPU usage in data writing and highe
The Variant data type has stood the test of many users before the official release of Apache Doris 2.1.0. It is production-available now. In the future, we plan to realize more lightweight changes for Variant to facilitate data modeling.
-For more information about Variant and guides on how to build a semi-structured data analytics solution for your case, come talk to the [Apache Doris developer team](https://discord.gg/JemTbMKj).
\ No newline at end of file
+For more information about Variant and guides on how to build a semi-structured data analytics solution for your case, come talk to the [Apache Doris developer team](/discord).
\ No newline at end of file
diff --git a/blog/vector-search.md b/blog/vector-search.md
new file mode 100644
index 00000000000..2ddf8d1199f
--- /dev/null
+++ b/blog/vector-search.md
@@ -0,0 +1,387 @@
+---
+{
+ 'title': 'Vector Search: What It Is, Examples, and How It Powers AI Applications',
+ 'summary': 'Learn what vector search is, how it works, and how it compares to keyword and semantic search. Includes real-world examples, vector search databases, and AI use cases like RAG.',
+ 'description': 'Learn what vector search is, how it works, and how it compares to keyword and semantic search. Includes real-world examples, vector search databases, and AI use cases like RAG.',
+ 'keywords': ['vector search', 'vector search example', 'vector search database', 'ai vector search'],
+ 'date': '2026-04-10',
+ 'author': 'Apache Doris',
+ 'tags': ['Glossary'],
+ "image": '/images/vector-search.png',
+}
+---
+
+## Quick Answer: What Is Vector Search?
+
+Vector search is a search method that retrieves results based on semantic similarity rather than exact keyword matches.
+
+Instead of matching words directly, vector search converts data—such as text, images, or logs—into numerical representations called embeddings (vectors). It then compares these vectors in a high-dimensional space to find the most similar results.
+
+The key idea behind vector search is that similar meanings are represented by vectors that are close to each other.
+
+The main characteristics of vector search include:
+
+- Understanding user intent rather than exact wording
+- Supporting unstructured data such as text and images
+- Enabling AI applications like semantic search and RAG
+
+## How Vector Search Works (Step-by-Step)
+
+Vector search follows a simple but powerful pipeline. Instead of matching exact words, it converts both the data and the query into numerical representations and then compares them based on similarity.
+
+### 1. Convert Data into Embeddings
+
+The first step is to convert raw data into **embeddings**.
+
+Embeddings are numerical vectors generated by machine learning models that capture the semantic meaning of the input. These inputs can include:
+
+- text documents
+- product descriptions
+- images
+- logs or events
+
+For example, two sentences with similar meanings may produce vectors that are located close to each other in vector space, even if they do not share the same keywords.
+
+### 2. Store Vectors in a Vector Database
+
+Once generated, these embeddings are stored in a **vector database** or another system that supports vector indexing.
+
+Unlike traditional databases that are optimized for exact filtering, vector search systems are designed to store high-dimensional vectors and retrieve the nearest matches efficiently. This is especially important when dealing with millions or billions of embeddings.
+
+In production systems, vector data is often stored alongside metadata such as:
+
+- document ID
+- timestamp
+- category
+- status
+
+This allows vector search to be combined with structured filtering.
+
+### 3. Convert the Query into a Vector
+
+When a user submits a search query, the system applies the same embedding model to the query itself.
+
+This produces a query vector that can be compared directly against the stored vectors. Because both the query and the data are represented in the same vector space, the system can search for semantic similarity rather than exact wording.
+
+For example, a query like:
+
+```Plain
+How to reduce database latency
+```
+
+may still retrieve content containing phrases such as:
+
+```Plain
+improve query performance
+speed up data access
+```
+
+even if the exact words do not match.
+
+### 4. Perform Similarity Search
+
+After the query vector is created, the system searches for the **nearest vectors** in the database.
+
+This is typically done using similarity metrics such as:
+
+- **Cosine similarity:** Measures how close two vectors are in direction.
+- **Euclidean distance:** Measures the geometric straight-line distance between vectors.
+- **Dot product:** Often used in embedding-based retrieval systems to measure magnitude and direction.
+
+Because exact nearest-neighbor search can be expensive at large scale, most production systems use **Approximate Nearest Neighbor (ANN)** algorithms to speed up retrieval while keeping results highly relevant.
+
+### 5. Re-rank and Return the Best Results
+
+In many real-world AI systems, vector search is only the first retrieval step.
+
+The initial results may then be:
+
+- filtered using metadata
+- combined with keyword search
+- re-ranked by another model
+
+This improves precision and ensures that the final results are both semantically relevant and contextually useful.
+
+This is why modern AI search systems often use **hybrid search**, combining vector similarity with structured filters or keyword relevance.
+
+In essence, vector search retrieves **similar meaning**, not just exact matches.
+
+## Vector Search vs. Keyword Search vs. Semantic Search
+
+To understand where vector search fits in, it helps to compare it with two other commonly used approaches: keyword search and semantic search. While these terms are often used interchangeably, they actually represent different ways of thinking about search.
+
+| Feature | Keyword Search | Semantic Search | Vector Search |
+| --------------- | --------------------- | -------------------- | --------------------------- |
+| Matching method | Exact keywords | Meaning (conceptual) | Meaning (vector similarity) |
+| Technology | Inverted index (BM25) | NLP models | Embeddings + ANN |
+| Accuracy | High precision | Moderate | High (context-aware) |
+| Flexibility | Low | Medium | High |
+| Typical tools | Elasticsearch | Search engines | Vector databases |
+
+### Vector Search vs. Keyword Search
+
+Traditional keyword search is based on matching exact words. Systems like Elasticsearch use techniques such as inverted indexes and BM25 to find documents that contain the same terms as the query.
+
+This approach works well when users know exactly what they are looking for. For example, if someone searches for a specific error code or product name, keyword search can return highly precise results very quickly.
+
+However, keyword search struggles when the wording changes. If a user searches for “how to fix database performance,” a keyword-based system may miss relevant content that uses different phrasing like “optimize query latency” or “improve database speed.”
+
+This is where vector search becomes useful.
+
+Instead of matching words, vector search matches **meaning**. It converts both the query and the data into embeddings, and then retrieves results that are semantically similar—even if they don’t share the same keywords.
+
+In practice, this means vector search can handle:
+
+- synonyms
+- paraphrased queries
+- natural language input
+
+But it also comes with trade-offs. While vector search is more flexible, it can sometimes return results that are less precise, especially without additional filtering or re-ranking.
+
+### Vector Search vs. Semantic Search
+
+The difference between vector search and semantic search is more subtle, and often misunderstood.
+
+Semantic search is not a specific technology—it’s a goal. It refers to the idea of understanding the intent behind a query, rather than just matching words. For example, recognizing that “cheap laptop” and “affordable notebook” mean the same thing.
+
+Vector search is one of the most common ways to implement semantic search in modern systems.
+
+By representing text as embeddings, vector search turns meaning into something that can be computed mathematically. This allows systems to compare concepts at scale and retrieve relevant results efficiently.
+
+In modern AI systems, the two are closely connected:
+
+- semantic search defines **what the system is trying to do** (understand meaning)
+- vector search defines **how the system actually does it** (compute similarity using vectors)
+
+You can see this clearly in applications like RAG (Retrieval-Augmented Generation). The system first interprets the user’s intent (semantic understanding), and then uses vector search to retrieve the most relevant pieces of information.
+
+## Vector Search Example
+
+Vector search is already used in many real-world applications, often without users realizing it. Here are a few common examples that show how it works in practice.
+
+### Retrieval-Augmented Generation (RAG)
+
+In AI systems such as ChatGPT-style assistants, vector search plays a critical role in retrieving relevant information.
+
+When a user asks a question, the system:
+
+- converts the query into an embedding
+- searches for similar documents using vector search
+- passes the retrieved context into the LLM
+
+For example, if a user asks:
+
+```Plain
+How do I fix high database latency?
+```
+
+The system may retrieve documents about:
+
+- query optimization
+- indexing strategies
+- caching techniques
+
+—even if those exact words do not appear in the query.
+
+This can help reduce hallucinations and improve answer grounding, especially when the retrieval pipeline is well-designed.
+
+### Reverse Image Search
+
+Vector search is also widely used in image-based applications.
+
+When you upload an image, it is converted into a vector representation that captures visual features such as shapes, colors, and patterns. The system then finds images with similar vectors.
+
+This is commonly used in:
+
+- e-commerce (“find similar products”)
+- visual search engines
+- design and inspiration tools
+
+Instead of matching metadata, the system understands visual similarity directly.
+
+### Recommendation Systems
+
+Streaming platforms like Netflix or Spotify rely heavily on vector search to power recommendations.
+
+Users and content are represented as vectors based on behavior, preferences, and attributes. The system then recommends items that are “close” in vector space.
+
+For example:
+
+- users who watch similar content → similar vectors
+- movies with similar themes → similar vectors
+
+This allows platforms to recommend content that feels relevant, even if users cannot explicitly describe what they want.
+
+## Vector Search Architecture (for AI Systems)
+
+To understand why vector search is so important, it helps to look at how it fits into a modern AI system.
+
+A typical architecture looks like this:
+
+
+
+When a user submits a query, the system does not search it directly as text.
+
+Instead:
+
+1. The query is converted into an embedding using a model (e.g., OpenAI, BERT, or other embedding models)
+2. The vector database retrieves the most similar items based on vector similarity.
+3. The system may apply additional filtering (e.g., time range, metadata)
+4. A re-ranking step improves precision by selecting the most relevant results
+5. The final results are passed into an LLM to generate a response
+
+### Why This Architecture Matters
+
+Traditional keyword-based systems were originally optimized for lexical matching rather than semantic retrieval, so they may require additional components to support this kind of pipeline effectively.
+
+They struggle with:
+
+- natural language queries
+- unstructured data
+- semantic understanding
+
+Vector search, on the other hand, enables:
+
+- **semantic retrieval at scale**
+- **real-time AI applications**
+- **integration with LLM workflows (RAG)**
+
+### A Practical Insight
+
+In real-world systems, vector search is rarely used alone.
+
+Most production systems combine:
+
+```Plain
+vector search + keyword search + structured filtering
+```
+
+`This` is known as **hybrid search**, and it balances:
+
+- precision (keyword search)
+- flexibility (vector search)
+
+## The Role of a Vector Search Database (And How to Choose)
+
+Vector search is not just an algorithm—it requires a system that can store and retrieve high-dimensional vectors efficiently at scale. This is where vector search databases come in.
+
+### What Is a Vector Search Database?
+
+A vector search database is a system specifically designed to handle embeddings and perform fast similarity search.
+
+Unlike traditional databases that focus on exact matching and filtering, vector databases are optimized for:
+
+- storing high-dimensional vectors (embeddings)
+- performing nearest-neighbor search efficiently
+- scaling to millions or billions of data points
+
+In practical terms, a vector search database allows you to take a query, convert it into an embedding, and quickly find the most similar items—even in very large datasets.
+
+### Vector Search vs. Elasticsearch (and Traditional Search Systems)
+
+Elasticsearch and similar systems were originally built for keyword-based search using inverted indexes.
+
+This makes them extremely effective for:
+
+- exact matches
+- filtering and aggregation
+- structured queries
+
+However, their original strength lies in lexical retrieval, filtering, and aggregation rather than vector-native similarity search.
+
+Modern versions of Elasticsearch now support vector search, but there is still a conceptual difference:
+
+- **Keyword search (Elasticsearch classic)** → matches exact terms
+- **Vector search** → matches semantic similarity
+
+In real-world systems, these approaches are often combined.
+
+For example, a system might use keyword search for precision and vector search for semantic relevance.
+
+### Dedicated Vector Databases vs. Integrated Databases
+
+As vector search has grown, two main approaches have emerged.
+
+#### Dedicated Vector Databases
+
+Examples include Pinecone, Milvus, and Qdrant.
+
+These systems are built specifically for vector similarity search and are typically easy to adopt for AI use cases.
+
+They work well when:
+
+- the primary requirement is vector retrieval
+- the system is relatively simple
+- structured filtering is minimal
+
+However, they may require additional systems to handle analytics, filtering, or complex queries.
+
+#### Integrated Analytical Databases
+
+In real-world applications, vector search rarely exists in isolation.
+
+Most production systems need to combine:
+
+- vector search (for semantic similarity)
+- metadata filtering (time, status, user, etc.)
+- aggregation and analytics
+- real-time data ingestion
+
+For example, a real query might look like:
+
+“Find logs similar to this error, from yesterday, where status = failed”
+
+This is not just a vector search problem—it is a **hybrid query** that requires both semantic understanding and structured filtering. Some analytical databases, such as [Apache Doris](https://doris.apache.org), follow this integrated approach by supporting vector similarity search together with real-time analytics, filtering, and aggregation in a single system. This allows teams to simplify architecture when building AI applications that require both semantic retrieval and structured queries.
+
+### How to Choose the Right Approach
+
+Choosing between different types of vector search systems depends on your use case.
+
+Choose a **dedicated vector database** if:
+
+- your workload is primarily similarity search
+- you are building a prototype or early-stage AI feature
+
+An **integrated analytical database** may be a good fit if:
+
+- you need vector retrieval together with filtering, analytics, and real-time data ingestion
+- your workload involves logs, events, or operational analytics
+- you want to reduce the number of systems used in a production pipeline
+
+## Limitations of Vector Search
+
+Despite its advantages, vector search is not a perfect solution and comes with several practical limitations.
+
+One of the main trade-offs is between **accuracy and performance**. Most production systems rely on Approximate Nearest Neighbor (ANN) algorithms to achieve fast retrieval at scale, but this means the results may not always be the exact closest matches.
+
+Another challenge is **computational cost**. Generating embeddings and performing similarity search—especially across large datasets—can be resource-intensive, requiring optimized infrastructure and indexing strategies.
+
+As data volume grows, **latency can also become an issue**. Maintaining low response times while searching millions or billions of vectors requires careful system design.
+
+In addition, vector search alone may lack precision in certain scenarios. Because it focuses on semantic similarity, it can sometimes return results that are related but not strictly relevant. This is why many systems introduce a **re-ranking step** or combine vector search with structured filters.
+
+In practice, most production systems use **hybrid search**, combining vector search with keyword search and filtering to balance relevance and precision.
+
+## Future of Vector Search
+
+Vector search is evolving rapidly as AI systems become more complex and data-driven.
+
+One clear trend is the rise of **hybrid search**, where vector similarity is combined with keyword matching and structured filtering. This approach allows systems to balance semantic understanding with precision, and is quickly becoming the default in production environments.
+
+Another major shift is the adoption of **Retrieval-Augmented Generation (RAG)**. As LLM-based applications become more common, vector search is increasingly used to retrieve external knowledge and improve model accuracy.
+
+We are also seeing the emergence of **AI agents and memory systems**, where vector search is used to store and retrieve past interactions or contextual information. In this setting, vector databases effectively act as a form of long-term memory for AI systems.
+
+At the infrastructure level, **real-time vector analytics** is becoming more important. Instead of working only on static datasets, modern systems need to handle streaming data, logs, and events while still supporting fast similarity search.
+
+Overall, vector search is moving from a niche technique to a **core component of modern AI and data infrastructure**.
+
+## FAQ
+
+### Can SQL databases do vector search?
+
+Yes, many modern databases support vector search either through extensions (such as pgvector) or built-in vector data types. However, performance and scalability depend on how well the system is optimized for high-dimensional similarity search.
+
+### What is hybrid search?
+
+Hybrid search combines keyword search (for precision) with vector search (for semantic understanding). This approach is widely used in modern AI systems because it provides both accuracy and flexibility.
diff --git a/blog/why-apache-doris-is-best-alternatives-for-real-time-analytics.md b/blog/why-apache-doris-is-best-alternatives-for-real-time-analytics.md
index 9ab6b970589..15a4a322f6d 100644
--- a/blog/why-apache-doris-is-best-alternatives-for-real-time-analytics.md
+++ b/blog/why-apache-doris-is-best-alternatives-for-real-time-analytics.md
@@ -397,7 +397,7 @@ By 2023, the value of Doris with inverted indexes became increasingly evident, l
The growth momentum has continued, and as of 2024, we are experiencing rapid expansion, with over 100 companies now leveraging Doris to replace Elasticsearch.
-Looking ahead, I am very much looking forward to what 2025 will bring. This progress, advancing from the ground up to such significant milestones, has been made possible by the incredible support from the Doris community users and developers. We encourage everyone to join the [Apache Doris Discord community](https://discord.gg/JemTbMKj) and join the dedicated channel [#elasticsearch-to-doris](https://apachedoriscommunity.slack.com/archives/C08CQKX20R5), where you can receive technical as [...]
+Looking ahead, I am very much looking forward to what 2025 will bring. This progress, advancing from the ground up to such significant milestones, has been made possible by the incredible support from the Doris community users and developers. We encourage everyone to join the [Apache Doris Discord community](/discord) and join the dedicated channel [#elasticsearch-to-doris](https://apachedoriscommunity.slack.com/archives/C08CQKX20R5), where you can receive technical assistance, stay upda [...]
More on Apache Doris:
diff --git a/community/how-to-contribute/contribute-to-doris.md b/community/how-to-contribute/contribute-to-doris.md
index 27fc37105fe..d02e815c7f0 100644
--- a/community/how-to-contribute/contribute-to-doris.md
+++ b/community/how-to-contribute/contribute-to-doris.md
@@ -44,7 +44,7 @@ For the first time in Doris community, you can:
* Join Doris Wechat Group (add WeChat-ID: morningman-cmy, note: join Doris Group) and ask questions at any time.
-* Enter Doris's [Discord](https://discord.gg/JemTbMKj)
+* Enter Doris's [Discord](/discord)
Learn the development trends of Doris project in time and give your opinions on the topics you are concerned about.
diff --git a/community/join-community.md b/community/join-community.md
index 2ef212b7245..bab6f5021a6 100644
--- a/community/join-community.md
+++ b/community/join-community.md
@@ -39,7 +39,7 @@ We have graduated from Apache incubator successfully and become an Top-Level Pro
Learn our latest techniques, get inspirations from our rich use cases, and see what the community has been up to !
-- Join our heated discussions - 💬 [Discord](https://discord.gg/JemTbMKj) 📇 [Github](https://github.com/apache/doris)
+- Join our heated discussions - 💬 [Discord](/discord) 📇 [Github](https://github.com/apache/doris)
- Use cases and tech insight - 📭 [Twitter](https://twitter.com/doris_apache)
diff --git a/docs/releasenotes/v3.0/release-3.0.0.md b/docs/releasenotes/v3.0/release-3.0.0.md
index 215afb3bc0f..c6afeb5117d 100644
--- a/docs/releasenotes/v3.0/release-3.0.0.md
+++ b/docs/releasenotes/v3.0/release-3.0.0.md
@@ -441,7 +441,7 @@ Before the official release of version 3.0, the compute-storage decoupled mode o
We highly recommend users with compute-storage decoupling needs to download version 3.0 and experience it firsthand.
-Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](https://discord.gg/JemTbMKj) and engage directly with the core developers.
+Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](/discord) and engage directly with the core developers.
## Credits
diff --git a/docusaurus.config.js b/docusaurus.config.js
index ad39f107617..e5b2927b647 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -152,7 +152,7 @@ const config = {
},
{
from: '/slack',
- to: 'https://discord.gg/JemTbMKj'
+ to: 'https://discord.gg/ATXQqX8g8F'
}
],
createRedirects(existingPath) {
@@ -286,7 +286,7 @@ const config = {
// </a>`
en: `<p style="display:flex; width: 100%; align-items: center; justify-content: center; margin-left: 4px; text-decoration: none;">
<img style="width: 19px; height: 19px; margin-right: 3px;" src="/images/navbar-warning.svg">
- <span>Slack community removed due to a Slack-side issue. Awaiting their resolution. Pls reach us on <a style="font-weight:600;" href="https://discord.com/invite/tGTh2SQV" target="_blank" >Discord</a> in the meantime.</span>
+ <span>Slack community removed due to a Slack-side issue. Awaiting their resolution. Pls reach us on <a style="font-weight:600;" href="/discord" target="_blank" >Discord</a> in the meantime.</span>
</p>`
// }),
// content: JSON.stringify({
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/how-to-contribute/contribute-to-doris.md b/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/how-to-contribute/contribute-to-doris.md
index b50f508e60c..9ed645dabf1 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/how-to-contribute/contribute-to-doris.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/how-to-contribute/contribute-to-doris.md
@@ -43,7 +43,7 @@ under the License.
* 加入 Doris 微信群 (加微信号:morningman-cmy, 备注:加入 Doris 群) 随时提问;
-* 加入 [Discord](https://discord.gg/JemTbMKj);
+* 加入 [Discord](/discord);
通过以上方式及时了解 Doris 项目的开发动态并为您关注的话题发表意见。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/join-community.md b/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/join-community.md
index 0dfab962061..2d563ddc4b0 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/join-community.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs-community/current/join-community.md
@@ -38,7 +38,7 @@ under the License.
一起加入 Apache Doris 社区,了解头部企业如何基于 Apache Doris 构建统一实时数仓,从技术见解获得更多灵感!
-- 加入社群参与讨论 - 💬 [Discord](https://discord.gg/JemTbMKj) 📇 [Github](https://github.com/apache/doris)
+- 加入社群参与讨论 - 💬 [Discord](/discord) 📇 [Github](https://github.com/apache/doris)
- 用户案例与技术见解 - 📭 [Twitter](https://twitter.com/doris_apache)
diff --git a/ja-source/docusaurus-plugin-content-docs/current/releasenotes/v3.0/release-3.0.0.md b/ja-source/docusaurus-plugin-content-docs/current/releasenotes/v3.0/release-3.0.0.md
index c9349443740..5d488eca545 100644
--- a/ja-source/docusaurus-plugin-content-docs/current/releasenotes/v3.0/release-3.0.0.md
+++ b/ja-source/docusaurus-plugin-content-docs/current/releasenotes/v3.0/release-3.0.0.md
@@ -345,7 +345,7 @@ Generated columnはV3.0からサポートされています。テーブル作成
コンピュート・ストレージ分離のニーズを持つユーザーには、バージョン3.0をダウンロードして直接体験することを強く推奨します。
-今後、リリースイテレーションサイクルを加速し、すべてのユーザーにより安定したバージョン体験を提供していきます。[Apache Dorisコミュニティ](https://discord.gg/JemTbMKj)にぜひご参加いただき、コア開発者と直接交流してください。
+今後、リリースイテレーションサイクルを加速し、すべてのユーザーにより安定したバージョン体験を提供していきます。[Apache Dorisコミュニティ](/discord)にぜひご参加いただき、コア開発者と直接交流してください。
## Credits
diff --git a/ja-source/docusaurus-plugin-content-docs/version-2.1/releasenotes/v3.0/release-3.0.0.md b/ja-source/docusaurus-plugin-content-docs/version-2.1/releasenotes/v3.0/release-3.0.0.md
index 97543d0a65c..ddcfa525b33 100644
--- a/ja-source/docusaurus-plugin-content-docs/version-2.1/releasenotes/v3.0/release-3.0.0.md
+++ b/ja-source/docusaurus-plugin-content-docs/version-2.1/releasenotes/v3.0/release-3.0.0.md
@@ -343,7 +343,7 @@ Materialized viewの選択ロジックをリファクタリングし、ルール
compute-storage decouplingニーズを持つユーザーには、バージョン3.0をダウンロードして直接体験することを強くお勧めします。
-今後は、すべてのユーザーにより安定したバージョン体験を提供するため、リリース反復サイクルを加速していきます。ぜひ[Apache Dorisコミュニティ](https://discord.gg/JemTbMKj)にご参加いただき、コア開発者と直接交流してください。
+今後は、すべてのユーザーにより安定したバージョン体験を提供するため、リリース反復サイクルを加速していきます。ぜひ[Apache Dorisコミュニティ](/discord)にご参加いただき、コア開発者と直接交流してください。
## Credits
diff --git a/ja-source/docusaurus-plugin-content-docs/version-3.x/releasenotes/v3.0/release-3.0.0.md b/ja-source/docusaurus-plugin-content-docs/version-3.x/releasenotes/v3.0/release-3.0.0.md
index 238a99d7002..3d4fc6d54f7 100644
--- a/ja-source/docusaurus-plugin-content-docs/version-3.x/releasenotes/v3.0/release-3.0.0.md
+++ b/ja-source/docusaurus-plugin-content-docs/version-3.x/releasenotes/v3.0/release-3.0.0.md
@@ -343,7 +343,7 @@ Materialized viewの選択ロジックをリファクタリングし、ルール
コンピュート・ストレージ分離が必要なユーザーには、バージョン3.0をダウンロードして直接体験することを強く推奨します。
-今後、すべてのユーザーにより安定したバージョン体験を提供するため、リリースのイテレーションサイクルを加速していきます。ぜひ[Apache Dorisコミュニティ](https://discord.gg/JemTbMKj)にご参加いただき、コア開発者と直接交流してください。
+今後、すべてのユーザーにより安定したバージョン体験を提供するため、リリースのイテレーションサイクルを加速していきます。ぜひ[Apache Dorisコミュニティ](/discord)にご参加いただき、コア開発者と直接交流してください。
## クレジット
diff --git a/ja-source/docusaurus-plugin-content-docs/version-4.x/releasenotes/v3.0/release-3.0.0.md b/ja-source/docusaurus-plugin-content-docs/version-4.x/releasenotes/v3.0/release-3.0.0.md
index 645c34b46a0..54f5aa83739 100644
--- a/ja-source/docusaurus-plugin-content-docs/version-4.x/releasenotes/v3.0/release-3.0.0.md
+++ b/ja-source/docusaurus-plugin-content-docs/version-4.x/releasenotes/v3.0/release-3.0.0.md
@@ -345,7 +345,7 @@ Generated columnはV3.0からサポートされています。テーブル作成
compute-storage decouplingのニーズがあるユーザーには、バージョン3.0をダウンロードして直接体験することを強く推奨します。
-今後は、リリースイテレーションサイクルを加速し、すべてのユーザーにより安定したバージョン体験を提供していきます。[Apache Dorisコミュニティ](https://discord.gg/JemTbMKj)にぜひご参加いただき、コア開発者と直接交流してください。
+今後は、リリースイテレーションサイクルを加速し、すべてのユーザーにより安定したバージョン体験を提供していきます。[Apache Dorisコミュニティ](/discord)にぜひご参加いただき、コア開発者と直接交流してください。
## クレジット
diff --git a/src/pages/discord.tsx b/src/pages/discord.tsx
new file mode 100644
index 00000000000..031a94f9522
--- /dev/null
+++ b/src/pages/discord.tsx
@@ -0,0 +1,32 @@
+import React, { useEffect } from 'react';
+import Head from '@docusaurus/Head';
+import Layout from '@theme/Layout';
+
+const DISCORD_INVITE_URL = 'https://discord.com/invite/ATXQqX8g8F';
+
+export default function DiscordRedirectPage(): React.ReactElement {
+ useEffect(() => {
+ if (typeof window !== 'undefined') {
+ window.location.replace(DISCORD_INVITE_URL);
+ }
+ }, []);
+
+ return (
+ <Layout title="Redirecting to Discord">
+ <Head>
+ <meta httpEquiv="refresh" content={`0; url=${DISCORD_INVITE_URL}`} />
+ <link rel="canonical" href={DISCORD_INVITE_URL} />
+ </Head>
+ <main style={{ padding: '2rem 1rem', textAlign: 'center' }}>
+ <p>Redirecting to Discord...</p>
+ <p>
+ If you are not redirected, open{' '}
+ <a href={DISCORD_INVITE_URL} target="_blank" rel="noopener noreferrer">
+ this invite link
+ </a>
+ .
+ </p>
+ </main>
+ </Layout>
+ );
+}
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 9770dfd29ce..e4572050d52 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -37,7 +37,7 @@ export default function Home(): JSX.Element {
},
{
label: <Translate id="homepage.banner.button2">Join Discord</Translate>,
- link: 'https://discord.gg/JemTbMKj',
+ link: '/discord',
type: 'ghost',
},
];
@@ -97,7 +97,7 @@ export default function Home(): JSX.Element {
<WarningIcon className="homepage-warning-banner__icon" />
<span>
Slack community removed due to a Slack-side issue. Awaiting their resolution. Pls reach us on{' '}
- <Link className="homepage-warning-banner__link" to="https://discord.com/invite/tGTh2SQV">
+ <Link className="homepage-warning-banner__link" to="/discord">
Discord
</Link>{' '}
in the meantime.
@@ -245,7 +245,7 @@ export default function Home(): JSX.Element {
img: (
<img width={60} height={60} src={require(`@site/static/images/discord-icon.png`).default} alt="discord icon" />
),
- href: 'https://discord.gg/JemTbMKj',
+ href: '/discord',
},
{
title: <Translate id="community.title.c4">Twitter</Translate>,
diff --git a/src/theme/BlogListPage/index.tsx b/src/theme/BlogListPage/index.tsx
index b7bf5505e79..f1653a1c7d3 100644
--- a/src/theme/BlogListPage/index.tsx
+++ b/src/theme/BlogListPage/index.tsx
@@ -17,6 +17,7 @@ import { useHistory, useLocation } from '@docusaurus/router';
// import BlogListPageStructuredData from '@theme/BlogListPage/StructuredData';
const allText = 'All';
const HIDDEN_BLOG_TABS = new Set(['Release Notes', 'Top News']);
+const FIXED_BLOG_TABS = ['Glossary'];
function getBlogCategories(props) {
const { siteConfig } = useDocusaurusContext();
@@ -57,6 +58,22 @@ function getBlogCategories(props) {
});
}
});
+
+ FIXED_BLOG_TABS.forEach(tabLabel => {
+ if (!categories.some(category => category.label === tabLabel)) {
+ categories.push({
+ label: tabLabel,
+ values: [],
+ });
+ }
+ });
+
+ const glossaryIndex = categories.findIndex(category => category.label === 'Glossary');
+ if (glossaryIndex > -1 && glossaryIndex !== categories.length - 1) {
+ const [glossaryCategory] = categories.splice(glossaryIndex, 1);
+ categories.push(glossaryCategory);
+ }
+
return categories;
}
diff --git a/src/theme/Footer/index.tsx b/src/theme/Footer/index.tsx
index fa23635e4a8..8e6a53389f8 100644
--- a/src/theme/Footer/index.tsx
+++ b/src/theme/Footer/index.tsx
@@ -10,7 +10,7 @@ import './styles.scss';
import { MailIcon } from '@site/src/components/Icons/mail';
import { GithubIcon } from '@site/src/components/Icons/github';
import { TwitterIcon } from '@site/src/components/Icons/twitter';
-import { SlackIcon } from '@site/src/components/Icons/slack';
+import { SlackIcon } from '@site/src/components/Icons/discord';
import { BilibiliIcon } from '@site/src/components/Icons/bilibili';
import { WechatIcon } from '@site/src/components/Icons/wechat';
import { YoutubeIcon } from '@site/src/components/Icons/youtube';
@@ -93,7 +93,7 @@ function Footer(): React.ReactElement | null {
<TwitterIcon />
</a>
<a
- href="https://discord.gg/JemTbMKj"
+ href="/discord"
title="discord"
target="_blank"
className="item"
diff --git a/src/theme/Navbar/Content/components/NavbarCommon.tsx b/src/theme/Navbar/Content/components/NavbarCommon.tsx
index af77f18af89..3978053ce08 100644
--- a/src/theme/Navbar/Content/components/NavbarCommon.tsx
+++ b/src/theme/Navbar/Content/components/NavbarCommon.tsx
@@ -59,7 +59,7 @@ export const NavbarCommonRight = ({ star }: NavbarCommonRightProps) => {
{star && <div className="gh-count text-[1rem]/[1rem]">{star}k</div>}
<Link
className="slack-btn desktop header-right-button-slack"
- href="https://discord.gg/JemTbMKj"
+ href="/discord"
target="_blank"
></Link>
</>
diff --git a/src/theme/TOC/index.tsx b/src/theme/TOC/index.tsx
index 06238e2f7b0..8c6c3c8640e 100644
--- a/src/theme/TOC/index.tsx
+++ b/src/theme/TOC/index.tsx
@@ -143,7 +143,7 @@ export default function TOC({ className, ...props }: Props): React.ReactElement
<Link
className="toc-icon-content group"
to={
- 'https://discord.gg/JemTbMKj'
+ '/discord'
}
>
<div style={{ padding: '2px' }}>
diff --git a/static/images/blogs/llm-powered-workflow.png b/static/images/blogs/llm-powered-workflow.png
new file mode 100644
index 00000000000..5473fc28b5b
Binary files /dev/null and b/static/images/blogs/llm-powered-workflow.png differ
diff --git a/static/images/blogs/vector-search-archtecture-for-ai-systems.png b/static/images/blogs/vector-search-archtecture-for-ai-systems.png
new file mode 100644
index 00000000000..cd5d2b831a5
Binary files /dev/null and b/static/images/blogs/vector-search-archtecture-for-ai-systems.png differ
diff --git a/static/images/llm-observability.png b/static/images/llm-observability.png
new file mode 100644
index 00000000000..c6ad12e40fd
Binary files /dev/null and b/static/images/llm-observability.png differ
diff --git a/static/images/vector-search.png b/static/images/vector-search.png
new file mode 100644
index 00000000000..20017d8877d
Binary files /dev/null and b/static/images/vector-search.png differ
diff --git a/static/pdf/Apache_Doris_v3_x_t5x7q9z2y4.pdf b/static/pdf/Apache_Doris_v3_x_t5x7q9z2y4.pdf
new file mode 100644
index 00000000000..ae9f096c3de
Binary files /dev/null and b/static/pdf/Apache_Doris_v3_x_t5x7q9z2y4.pdf differ
diff --git a/static/pdf/Apache_Doris_v4_x_j3h8d6b1v0.pdf b/static/pdf/Apache_Doris_v4_x_j3h8d6b1v0.pdf
new file mode 100644
index 00000000000..3a6434dfd8e
Binary files /dev/null and b/static/pdf/Apache_Doris_v4_x_j3h8d6b1v0.pdf differ
diff --git a/versioned_docs/version-2.1/releasenotes/v3.0/release-3.0.0.md b/versioned_docs/version-2.1/releasenotes/v3.0/release-3.0.0.md
index b8ada71d4b1..b3a3942ae82 100644
--- a/versioned_docs/version-2.1/releasenotes/v3.0/release-3.0.0.md
+++ b/versioned_docs/version-2.1/releasenotes/v3.0/release-3.0.0.md
@@ -441,7 +441,7 @@ Before the official release of version 3.0, the compute-storage decoupled mode o
We highly recommend users with compute-storage decoupling needs to download version 3.0 and experience it firsthand.
-Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](https://discord.gg/JemTbMKj) and engage directly with the core developers.
+Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](/discord) and engage directly with the core developers.
## Credits
diff --git a/versioned_docs/version-3.x/releasenotes/v3.0/release-3.0.0.md b/versioned_docs/version-3.x/releasenotes/v3.0/release-3.0.0.md
index a63fae733af..78203bca681 100644
--- a/versioned_docs/version-3.x/releasenotes/v3.0/release-3.0.0.md
+++ b/versioned_docs/version-3.x/releasenotes/v3.0/release-3.0.0.md
@@ -441,7 +441,7 @@ Before the official release of version 3.0, the compute-storage decoupled mode o
We highly recommend users with compute-storage decoupling needs to download version 3.0 and experience it firsthand.
-Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](https://discord.gg/JemTbMKj) and engage directly with the core developers.
+Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](/discord) and engage directly with the core developers.
## Credits
diff --git a/versioned_docs/version-4.x/releasenotes/v3.0/release-3.0.0.md b/versioned_docs/version-4.x/releasenotes/v3.0/release-3.0.0.md
index 215afb3bc0f..c6afeb5117d 100644
--- a/versioned_docs/version-4.x/releasenotes/v3.0/release-3.0.0.md
+++ b/versioned_docs/version-4.x/releasenotes/v3.0/release-3.0.0.md
@@ -441,7 +441,7 @@ Before the official release of version 3.0, the compute-storage decoupled mode o
We highly recommend users with compute-storage decoupling needs to download version 3.0 and experience it firsthand.
-Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](https://discord.gg/JemTbMKj) and engage directly with the core developers.
+Going forward, we will accelerate our release iteration cycle to deliver a more stable version experience for all users. Feel free to join us in the [Apache Doris community](/discord) and engage directly with the core developers.
## Credits
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org