mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 09:38:39 +08:00
1.1 KiB
1.1 KiB
Visitor Pattern
Visitor Pattern is used in segcore for parse and execute Execution Plan.
- Inside
${core}/src/query/PlanNode.h, contains physical plan for vector searchFloatVectorANNSFloatVector search execution nodeBinaryVectorANNSBinaryVector search execution node
${core}/src/query/Expr.hcontains physical plan for scalar expressionTermExprsupport operation likecol in [1, 2, 3]RangeExprsupport constant compare with data column likea >= 51 < b < 2CompareExprsupport compare with different columns, likea < bLogicalBinaryExprsupport and/orLogicalUnaryExprsupport not
Currently, under ${core/query/visitors} directory, there are following visitors:
ShowPlanNodeVisitorprint PlanNode in jsonShowExprVisitorExpr -> jsonVerify...Visitorvalidate ...ExtractInfo...Visitorextract info from... ,including involved_fields and elseExecExprVisitorGenerate bitmask according to expressionExecPlanNodeVistorphysical plan executor, for now only support ANNS node.