tpalfy commented on a change in pull request #4123: NIFI-7188: Adding filter 
capabilities into search & prerequisite refactors
URL: https://github.com/apache/nifi/pull/4123#discussion_r400958822
 
 

 ##########
 File path: nifi-docs/src/main/asciidoc/user-guide.adoc
 ##########
 @@ -167,6 +167,74 @@ contains options that allow you to manipulate existing 
components on the canvas:
 
 image::global-menu.png[NiFi Global Menu]
 
+=== Keywords in searching
+
+NiFi UI's search functionality supports a number of "keywords". These are 
literals used to execute search based on non-textual information. A keyword is 
used only in case of the search term consists of a section of the keyword or 
matches with it. In case the keyword is only the subset of the search term, the 
keyword is not picked for usage. The keywords are case-insensitive. The 
supported keywords are the following:
+
+*back pressure*: Adds the Connections to the result list which are applying 
back pressure in the time of search.
+
+*disabled*: Adds disabled Ports and Processors to the result list.
+
+*expiration*: Adds the Connections to the result list in which there are 
expired Flow Files.
+
+*expires*: See "expiration".
+
+*event*: Adds every Processor to the result list where the Scheduling Strategy 
is "Event Driven".
+
+*invalid*: Adds Ports and Processors to the result list where the component is 
invalid.
+
+*not transmitting*: Adds Remote Process Groups to the result list which are 
not transmitting data at the time of searching.
+
+*pressure*: See "back pressure".
+
+*primary:* Adds Processors into the result list which are set to running on 
the primary node only. (Regardless if the Processor is currently running or not)
+
+*running*: Adds running Ports and Processors to the result list.
+
+*stopped*: Adds stopped Ports and Processors to the result list.
+
+*timer*: Adds every Processor to the result list where the Scheduling Strategy 
is "Event Timer".
+
+*transmitting*: Adds Remote Process Groups to the result list which are 
transmitting data at the time of searching.
+
+*transmission disabled*: See "not transmitting".
+
+*transmitting enabled*: See "transmitting".
+
+*validating*: Adds Processors to the result list which are validating at the 
time of executing the search.
+
+=== Filters
+
+Filters provided in order to decrease the number of findings in a search based 
on positional information, like currently active Process Group. All filters 
consists of a key and a value, separated by a colon, like "_key:value_". The 
filters must present at the beginning of the search string and are not part of 
the search term. Unknown filters or known filters with unknown value are 
ignored. If the same filter appears multiple time, the first will be used. The 
order of different filters has no effect on the result.
+
+*scope*: This filter narrows the scope of the search based on the user's 
currently active Process Group. The only valid value is "_here_". The usage of 
this filter looks like "_scope:here_". Any other value is considered as 
invalid, thus the filter will be ignored during search.
+
+*group*: This filter narrows the scope of the search based on the provided 
Process Group name or id. If provided, the only groups will be searched are the 
ones containing the filter value in their name or id. This is transitive, so if 
any parent Process Group is fit, than the contained Process Groups are subject 
of the search. In case on non-existing group, the filter will be used but the 
result list will be empty.
+
+*properties*: In case of valid value, this filter excludes the findings would 
be added based on property. The valid values are: "_no_", "_none_", "_false_", 
"_exclude_" and "_0_". Every other value is invalid, resulting that the search 
will ignore the filter.
+
+=== Search examples
+
+==== Example 1
+
+`group:myGroup processor1`
+
+The search query will result a list of components are containing `processor1` 
in their relevant attributes. The search will be executed under Process Groups 
(directly or via contained Process Groups) containing the string "myGroup" in 
their name or id.
+
+==== Example 2
+
+`scope:here properties:exclude import`
+
+The example search query above returns with every component is contained 
(directly or via contained Process Groups) by the currently active Process 
Group, where the component's relevant attributes (name, comment, etc.) contain 
the word _import_ but excludes the findings based on property attributes.
+
+==== Example 3
+
+`scope:here invalid`
+
+Executing this search will result the list of invalid Processors and Ports 
contained by the current group. The search execution will also use "invalid" as 
search term with the same scope.
 
 Review comment:
   ```suggestion
   Search will be restricted to the currently selected process group (and its 
sub process groups).
   "invalid" here (as it is alone after the filter) will be treated both as a 
keyword and a regular search term.
   The result will contain invalid Processors and Ports as well as all other 
components that match for "invalid" in any way.
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to