Search Query AST
Định nghĩa
Search Query AST là cây cú pháp trừu tượng biểu diễn query người dùng nhập, đặc biệt khi query có AND/OR, grouping, precedence và nested filters.
Cách hiểu bằng lời của tôi
Flat parser đủ cho query kiểu danh sách filter, nhưng không đủ cho nested search. Khi search language có ngoặc và toán tử logic, query phải được parse thành tree để backend hiểu cấu trúc và generate query chính xác.
Cơ chế từ GitHub
- Query string được parse bằng grammar thành AST.
- AST node như AND/OR được traverse đệ quy.
- Elasticsearch bool query được sinh từ tree: AND thành
must, OR thànhshould. - Rollout phải backward-compatible với query cũ.