簡體   English   中英

在數據庫中存儲過濾條件

[英]Storing filter criteria in database

我有一個基於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並可以執行該UI。 與其他幾個表一起,我計划使用以下數據庫表來存儲該表-

rule_id
rule_seq
op_paren
left_opr
operator
right_opr
cl_paren
and_or

它看起來正確還是我可以改善它? 我的另一個選擇是將整個JSON存儲在嵌入式文檔數據庫(例如OrientDB)中。

從形式上看,每個搜索條件都是抽象語法樹。它不適合您的結構。 從這個角度來看,您關於在OrientDB中保存搜索的想法非常適合任務,但實現起來並不簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM