在数据库中存储过滤条件



我有一个基于Javascript的UI和基于Jersey的REST服务的web应用程序。UI具有某些特性,需要使用复杂的搜索条件来检索数据。UI定义了带有各种参数的搜索条件,但对本讨论最重要的是:用户可以创建这样的过滤器-

 1. (     Receiver_Email_ID           CONTAINS         xyz@abc.com                  AND
 2.       Sender_Email_ID             CONTAINS         blocked@abc.com         )    OR
 3. (     Origin_Domain                  IS            BADDOMAIN.com                AND
 4.       Email_has_attachment           ==            true                    )

数字1到4只是表示这些是UI中的不同行,这里的顺序很重要。UI以JSON格式表示它,服务器可以将其作为POJO接收。我需要能够存储这些条件,以便可以用过滤器重新填充UI并执行它。与其他几个表一起,我计划使用以下数据库表来存储

rule_id
rule_seq
op_paren
left_opr
operator
right_opr
cl_paren
and_or

它看起来是对的还是我可以改进?我的另一个选择是将整个JSON存储在嵌入式文档数据库(如OrientDB)中。

从形式的角度来看,每个搜索标准都是抽象的语法树,它不适合你的结构。从这个角度来看,您关于在OrientDB中保存搜索的想法非常适合任务,但实现并不简单。

相关内容

  • 没有找到相关文章

最新更新