Hello NiFi community,

I believe a feature that NiFi administrators would find useful is doing an 
inverse search on provenance.

So for example, instead of just being able to search on provenance to find 
provenance with Event Type of SEND 
we also have the option of finding all provenance that does NOT have Event Type 
of SEND.


The underlying apache lucene already supports Boolean queries.  Actually, NiFi 
is already doing a Boolean query.  
But now instead of doing an Occur.MUST, NiFi will also be able to do an 
Occur.MUST_NOT [1]

I am thinking there will be a GUI change as well, as there will be a "NOT" or 
"INVERSE" column header at the far right of the Provenance's Search Events pop 
up, with checkboxes underneath it (i.e. a checkbox to the right of each 
fieldname/value that a user can query provenance events for.    If the checkbox 
is checked, then the user is indicating to do an inverse query for the value 
entered.) 

I put together a proof of concept and it works without any obvious complexity 
or gotcha issues.
What do you think about this?
Thank You,
Nissim Shiman






[1] 
https://github.com/apache/nifi/blob/main/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/lucene/LuceneUtil.java#L108

Reply via email to