I'm using FME 2018 (via ArcGIS data interoperability extension) so am limited to the use of the UpdateDetector, but I assume the same question is applicable to the ChangeDetector.
Is there a way to specify multiple match fields? My use case is that I have a WFS data set that I am using to inform updates of an SDE table. There is a matching ID column between the two (system_id), but when an item in the WFS base database is replaced, the ID will be written to a separate column (prior_id) and the record given a new ID. Therefore, the equivalent record in the table- which contains data not stored in the database- would be removed by the UpdateDetector and the new record written in if just matching on system_id.
So I would envision a solution taking the form of specifying the UpdateDetector to check for a match between WFS system_id and SDE table system_id, and if none exists check for a match between WFS prior_id and SDE table system_id, and if none exists treat the record as an insert or delete.
There may be other ways to go about doing this but I couldn't find any existing solutions after searching around.