related to a discussion on LinkedIn group: Enterprise Search Engine Professionals
Topic 際際滷Share "Business Rules for Search (13/03/21)
source:http://slidesha.re/160saNi
際際滷s in response to Grant Ingersoll comment regarding Business Rules in LucidWorks Search through Drools
1 of 10
Downloaded 11 times
More Related Content
A comparison of UIA/Rules Business Rules and LucidWorks Drools
1. Business Rules
Comparison
LucidWorks Search versus UIA/Rules
2. Background
Discussion on LinkedIn group
Enterprise Search Engine Professionals
Topic 際際滷Share "Business Rules for Search (13/03/21)
source: http://slidesha.re/160saNi
際際滷s in response to Grant Ingersoll comment regarding
Business Rules in LucidWorks Search through Drools
3. LucidWorks Drools based approach
Externalization of application logic into rules
Three hooks available per default:
1) Indexing time to transform a doc
2) Search query time to transform the query
3) Search response time to transform a doc
Stateless and document / query centric approach
4. UIA/Rules XACML based approach
Externalization of information filter logic into rules
Use case for this comparison is to decide
If a user is allowed (or denied)
to see a document
under dynamic context constraints
Rules are multi dimensional parameterized (in XACML naming) as:
Subject
Action (will be assumed static as read for this comparison)
Resource
Environment (dynamic like time, geo, age, )
Early binding of vectorized rules
No query post processing needed!
5. How to solve UIA/Rules use case with Drools?
Given is a set of rules with three dimensions:
R(Sub,Res,Env)
Real-time Rule Enforcement needs execution
at search time
Mapping given one Rx(Sub,Res,Env) to available
Drools hooks
2) Rx(Sub,Env) Search query time to transform the query
3) Rx(Res,Env) Search response time to transform each doc
6. Suspected Drools approach drawbacks
(which need step by step review!)
No exposed Drools hooks can consume Subject and Resource
and Environment at the same time
Execution of rules during search response to decide visibility per
document is comparable to late-binding (or last-minute) access
control, this means
Iteration over a huge collection of response documents and
repeated rules evaluation is a time consuming post processing
Critical search engine feature of deep facets will be lost
Needed split of given Rx(Sub,Res,Env) into two
independent steps 2+3, will break the rule context, which
evaluation of Rx(step2) is related to Rx(step3)
7. How UIA/Rules aims to solve it
Given is same set of rules with three dimensions:
R(Sub,Res,Env)
Mapping given one Rx(Sub,Res,Env) to
1) Rx(*,Res,Env) Indexing time: Annotation of document with decision
vector
2) Rx(Sub,*,Env) Search query time: Evaluating decision vector as &fq=
Decision Vectorization:
UIA/Rules as a central service computes list of matching rules and decision
This service will be called from a Rule Enforcement stage during indexing and
search query time
Unknown dimension will be skipped * from evaluation
The rules context will be reconstructed real-time through a high performing match
over the decision vector multi-value field
8. Benefits of UIA/Rules approach
Execution of rules during indexing time is comparable to
early-binding access control pattern
Critical search engine feature of deep facets is available
XACML infrastructure components trimmed for
performance will be reused
XACML rules (aka policies) are application code
independent but only business object centric
9. Summary
LucidWorks Drools and UIA/Rules aim for different scenarios
with different design and architectures
Drools externalizes application logic
UIA/Rules externalizes information logic, supported by
established OASIS Standards and products
UIA/Rules fits a gap which cannot be covered by Drools
Good news:
Both solutions can be run side by side to address an
additional customer use case
Catapults old FAST SAM pattern to new era of dynamic
real time rules
10. Are you interested?
Please join our discussion on LinkedIn
and contribute with more interesting
customer use cases!
Or contact us:
Dr. Krusche & Partner PartG
+49 (0) 89 898 27733
team@dr-kruscheundpartner.de
http://www.linkedin.com/company/dr-krusche-&-partner-partg
www.dr-kruscheundpartner.de