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

twice pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/kvrocks.git


The following commit(s) were added to refs/heads/unstable by this push:
     new b8788bc6 chore(search): update README to add some references for KQIR 
(#2581)
b8788bc6 is described below

commit b8788bc693e1ff40a21a16d17fd72a58cb0606d3
Author: Twice <[email protected]>
AuthorDate: Sat Oct 5 23:20:14 2024 +0800

    chore(search): update README to add some references for KQIR (#2581)
---
 src/search/README.md | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/src/search/README.md b/src/search/README.md
index 65c2bacc..022ec750 100644
--- a/src/search/README.md
+++ b/src/search/README.md
@@ -1,27 +1,34 @@
-## KQIR: Kvrocks Query Intermediate Representation
+## KQIR (a.k.a. Kvrocks Search): Kvrocks Query Intermediate Representation
 
 Here, *KQIR* refers to both
 - the multiple-level *query intermediate representation* for Apache Kvrocks, 
and
 - the *architecture and toolset* for the query optimization and execution.
 
+Note that when interacting with users, we also refer to KQIR as *Kvrocks 
Search* to prevent overwhelming with excessive technical information.
+
 ### Architecture
 
 ![Architecture of KQIR](../../assets/KQIR.png)
 
 ### Components
 
-- User Interface: both SQL and Redis Query syntax is supported to be the 
frontend language of KQIR
+- User Interface: both SQL and RediSearch Query syntax is supported to be the 
frontend language of KQIR
   - SQL Parser: A parser that accepts an extended subset of MySQL syntax
-  - Redis Query Parser: A parser that accepts [Redis query 
syntax](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/query_syntax/)
 (only DIALECT 2 or greater is planned to be supported)
+  - Redis Query Parser: A parser that accepts [RediSearch query 
syntax](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/query_syntax/)
 (only DIALECT 2 or greater is planned to be supported)
 - KQIR: a multiple level query intermediate representation, currently 
including two levels (syntactical IR and planning IR)
   - Syntactical IR: A high level IR that syntactically represents the query 
language
   - Planning IR: A low level IR that represents plan operators for query 
execution
 - KQIR passes: analysis and transformation procedures on KQIR
   - Semantic Checker: to check if there is any semantic errors in the IR
-  - Expression Passes: passes for query expressions, especially for logical 
expressions
-  - Numeric Passes: passes for numeric & arithmetic properties
-  - Plan Passes: passes on the plan operators
+  - Expression Passes: passes for query expressions, especially for 
logical/boolean expressions
+  - Numeric Passes: passes for numeric & arithmetic expressions utilizing math 
properties
+  - Planning Passes: passes on the plan operators for scheduling a better 
execution plan
   - Pass Manager: to manage the pass execution sequence and order
-  - Cost Model: to analyze the cost for the current plan, used by some plan 
passes
-- Plan Executor: a component for query execution via iterator model
+  - Cost Model: to analyze the cost for the current plan, used by some 
planning passes
+- Plan Executor: a component for query execution via the iterator model
 - Indexer: to perform the indexing for various types of fields during data 
changes
+
+### References
+
+- [KQIR: a query engine for Apache Kvrocks that supports both SQL and 
RediSearch queries](https://kvrocks.apache.org/blog/kqir-query-engine)
+- [Index encoding format for Kvrocks 
Search](https://kvrocks.apache.org/community/kvrocks-search-index-encoding)

Reply via email to