[
https://issues.apache.org/jira/browse/NIFI-3497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15896354#comment-15896354
]
ASF GitHub Bot commented on NIFI-3497:
--------------------------------------
Github user joewitt commented on a diff in the pull request:
https://github.com/apache/nifi/pull/1564#discussion_r104315885
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ScanAttribute.java
---
@@ -151,24 +182,41 @@ public void onScheduled(final ProcessContext context)
throws IOException {
this.dictionaryTerms = createDictionary(context);
this.fileWatcher = new
SynchronousFileWatcher(Paths.get(context.getProperty(DICTIONARY_FILE).getValue()),
new LastModifiedMonitor(), 1000L);
+
+ this.dictionaryEntryMetadataDemarcator =
context.getProperty(DICTIONARY_ENTRY_METADATA_DEMARCATOR).getValue();
}
- private Set<String> createDictionary(final ProcessContext context)
throws IOException {
- final Set<String> terms = new HashSet<>();
+ private Map<String,String> createDictionary(final ProcessContext
context) throws IOException {
+ final Map<String,String> termsMeta = new HashMap<String, String>();
--- End diff --
Please take advantage of diamond operator.
final Map<String,String> termsMeta = new HashMap<>();
> ScanAttribute should support tagging a flowfile with metadata value from the
> supplied dictionary
> ------------------------------------------------------------------------------------------------
>
> Key: NIFI-3497
> URL: https://issues.apache.org/jira/browse/NIFI-3497
> Project: Apache NiFi
> Issue Type: Improvement
> Reporter: Joseph Witt
> Assignee: Joseph Witt
>
> Today ScanAttribute just looks through the supplied dictionary and given
> object for a string matching hit. If it hits then it is a match otherwise it
> is a 'not found'. However, when a hit occurs it can often be quite useful to
> gather additional metadata about that hit. This makes cases like
> enrichment/tagging much easier.
> So, plan is to have ScanAttribute support a dictionary value demarcator which
> would separate the dictionary term from some string response that will be
> added to the flowfile. For instance a dictionary might have
> apples:These are red or green
> bananas:These are yellow unless you should toss them or make bread
> Then if a hit occurs on 'apples' the flowfile that contained such an
> attribute would have a new attribute such as 'dictionary.hit.term' = 'apple'
> and 'dictionary.hit.metadata' = 'These are red or green'.
> This means downstream processors could extract that metadata and do
> interesting things with it.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)