2016-08-16 13 views
0

私はJavascriptベースのUIとJerseyベースのRESTサービスを持つWebアプリケーションを持っています。 UIには、データを取得するための複雑な検索条件が必要な特定の機能があります。 UIはさまざまなパラメータで検索基準を定義しますが、このディスカッションの最も重要な点はこれです。ユーザーはこのようなフィルタを作成できます。データベースにフィルタ条件を保存中

1. ( Receiver_Email_ID   CONTAINS   [email protected]     AND 

2.  Sender_Email_ID    CONTAINS   [email protected]  ) OR 

3. ( Origin_Domain     IS   BADDOMAIN.com    AND 

4.  Email_has_attachment   ==   true     ) 

数字1〜4は​​、これらがUIの異なる行であり、ここでの順序が重要であることを示しています。 UIはそれをJSON形式で表現し、サーバー上ではPOJOとして受け取ることができます。 この基準を保存して、UIでフィルタを再投入して実行できるようにする必要があります。いくつかの他のテーブルに加えて、私はそれが右に見ていますか私はそれを改善することができますthis-

rule_id 
rule_seq 
op_paren 
left_opr 
operator 
right_opr 
cl_paren 
and_or 

を保存するために、次のデータベーステーブルを使用する予定?私が持っているもう1つの方法は、JSON全体をOrientDBなどの埋め込みドキュメントDBに保存することです。

+0

こんにちは、あなたはそれをよりよく説明できますか?どうも –

答えて

0

正式な見解からは、各検索条件はAbstract syntax treeです。構造に合っていません。 OrientDBでの検索の保存についての考え方は、この観点からタスクに非常に適していますが、実現は簡単ではありません。

関連する問題