+(defgeneric expr-= (instance slot-name value)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-> (instance slot-name value)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-< (instance slot-name value)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-ends-with (instance slot-name value)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-starts-with (instance slot-name value)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-contains (instance slot-name value)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-and (instance &rest args)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-or (instance &rest args)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric expr-not (instance &rest args)
+ (:documentation "Create search expression for appropriate backend."))
+
+(defgeneric select-instances (instance &rest args)
+ (:documentation "Select instances in backend dependent way"))
+
+(defgeneric prepare-slot-name-for-select (instance slot-name)
+ (:method (i s) s))