[专题]从零打造一个搜索引擎(查询树)

我们一个查询语句,dsl经过parse后需要生成一颗查询树,查询树的最底层叶子节点是一个具体且单一字段的查询语句。

查询树是通过“关系”连接,关系有ANDOR两种

我们会首先对每个叶子节点进行数据查询。

在最终执行完了以后,每个叶子节点都是文档id的集合.我们根据父节点的关系标识对他们进行合并。

  • OR关系的子节点是并集。

  • AND关心的子节点是交集。