Description of the search engine

During the initialization, the Multi-Poll component separates root input folders into different queues according to the Priority value. All folders with a priority of 1 will go to queue #1, folders with a priority of 2 will go to queue #2 and so on.

At the time of each polling, the component will either perform the search through the list of queues until it finds a file that matches the Mask value or the component will look through all root input folders to find nothing. If the Traverse option is checked the component will search in subfolders of the root input folders as well. If the component finds a folder with files and the Concurrent flag is checked it returns all files in that folder (but not files in any subfolder).

The search is performed in the following order:

  • The component gets the input folder from the queue with the highest Priority and puts that folder on the end of this queue.
  • The component then checks the folder for any files:
    • If files are available, then the file with the earliest creation date is picked up.
      • Note that a creation date is when the file is created or copied (not moved) to the folder.
      • If the Concurrent flag is checked, all files in the folder only (not the subfolder) are picked up.
    • If the folder does not contain files and the Traverse option is checked, the component continues to search its subfolders.
    • If all the subfolders of this input folder are empty, the component will get the next input folder of this queue and will put it on the end of this queue.
  • If the component looked through the entire queue and did not find anything, the component will look through the queue with the next highest Priority value.
  • If the component has looked through all the queues without finding any documents, the component returns an empty list of files and terminates the search.
The component deletes any empty subfolder in the input folder.