function displaySearchResults(results) {
  hideProgress();
  if (results.foundItems.length === 0) {
    showSnackbar(
        `No match for "${results.targetWords.join(',')}" ` +
        `after searching ${results.numSearchedFiles} file(s). ` +
        `Model inference took ${results.tElapsedMillis.toFixed(1)} ms`);
  } else {
    showSnackbar(
        `Found ${results.foundItems.length} ` +
        `matches from ${results.numSearchedFiles} image(s). ` +
        `Model inference took ${results.tElapsedMillis.toFixed(1)} ms`);
    results.foundItems.forEach(foundItem => {
      createFoundCard(searchResultsDiv, foundItem);
    });
  }
}
Display result results (from backend or frontend).

@param {object} results Search result object. Assumed to have the following
  fields:
  - targetWords {string[]} The target words searched for.
  - numSearchedFiles {number} Total number of image files searched over.
  - foundItems {Array} An array of found items (i.e., images with top-5)
    classification results matching any of the elements of `targetWords`.
  - tElapsedMillis {number} The amount of time (in millis) spent on model
    inference.