milvus/docs/design_docs
Yinzuo Jiang 3628593d20
feat: Implement custom function module in milvus expr (#36560)
OSPP 2024 project:
https://summer-ospp.ac.cn/org/prodetail/247410235?list=org&navpage=org

Solutions:

- parser (planparserv2)
    - add CallExpr in planparserv2/Plan.g4
    - update parser_visitor and show_visitor
- grpc protobuf
    - add CallExpr in plan.proto
- execution (`core/src/exec`)
- add `CallExpr` `ValueExpr` and `ColumnExpr` (both logical and
physical) for function call and function parameters
- function factory (`core/src/exec/expression/function`)
    - create a global hashmap when starting milvus (see server.go)
- the global hashmap stores function signatures and their function
pointers, the CallExpr in execution engine can get the function pointer
by function signature.
- custom functions
    - empty(string)
    - starts_with(string, string)
- add cpp/go unittests and E2E tests

closes: #36559

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-10-25 15:25:30 +08:00
..
graphs [DOC] Add QueryNodev2 design doc (#23478) 2023-04-18 11:44:30 +08:00
segcore feat: Implement custom function module in milvus expr (#36560) 2024-10-25 15:25:30 +08:00
00000000-MEP-Template.md Add design doc for dynamic config (#23115) 2023-03-30 08:48:21 +08:00
20210521-datanode_recovery_design.md doc: fix typos in design docs (#32885) 2024-05-09 15:43:30 +08:00
20210604-datanode_flowgraph_recovery_design.md fix some typos (#27851) 2023-10-24 09:30:10 +08:00
20210731-index_design.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211109-milvus_flush_collections.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211115-milvus_drop_collection.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211214-milvus_hybrid_ts.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211215-milvus_timesync.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211217-milvus_create_collection.md fix some typos (#27851) 2023-10-24 09:30:10 +08:00
20211221-retrieve_entity.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211223-knowhere_design.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211224-drop_collection_release_resources.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20211227-milvus_create_index.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20220105-proxy.md fix some typos (#27851) 2023-10-24 09:30:10 +08:00
20220105-query_boolean_expr.md fix some typos (#27851) 2023-10-24 09:30:10 +08:00
20220105-root_coordinator_recovery_on_power_failure.md Organize design document directory (#22972) 2023-03-24 15:33:59 +08:00
20220725-dynamic-config.md Add design doc for dynamic config (#23115) 2023-03-30 08:48:21 +08:00
20230403-search_by_pk.md MEP for search by primary keys (#23193) 2023-04-07 18:26:29 +08:00
20230405-default_value.md [MEP]Default Value (#23343) 2023-04-20 10:56:31 +08:00
20230418-querynode_v2.md [DOC] Add QueryNodev2 design doc (#23478) 2023-04-18 11:44:30 +08:00
20230511-collection_level_autocompaction_switch.md Add design doc for collection-level auto compaction switch (#24041) 2023-05-11 15:57:20 +08:00
20230918-datanode_remove_datacoord_dependency.md fix some typos (#27851) 2023-10-24 09:30:10 +08:00