The logic in the original node does not modify the contents of the input data. The node scans each string/unicode type field in an input record. If a match is found in a field in a record then a record is output containing the input record number, the field that contained the matching text and the all of the fields in original record. For example searching for "A" in a case-sensitive manner outputs two records for the fourth input record:

If you want to only output one record for each input record regardless of whether one or more fields contained the search text then you could comment out the lines that explicitly write the record (see the middle node in the Find_Text_V2 data flow):

The original node (the top node in the updated data flow) and the middle node only output records where a match was found. If you wanted to output all input records regardless of whether a match was found you could change two of the 'else' statements in the code to write the input field values when a match was not found.

The output of the node would then be the following when searching for "A" case-sensitive (see the bottom node in the updated data flow):

The 'recordNumber' and 'matchedField' fields would be NULL for records where none of the searched fields containted the text. If required, you could then use a Split node to segregate the sets of records using a NULL value in one of those fields as the criterion.