The main idea of the Universal Connector is instead of having one system being capable of handling all search features, you can pipeline the search query through two systems (your existing search system and pixolution flow) with identical collections and each system is processeing a portion of the search criteria.

This picture visualizes the environment architecture and the query processing:

  1. User triggers a search query with various filters and a pixolution flow function like a similarity search.
  2. The standard search parameters like keywords, date filter etc. are send to your standard search system like Elastic Search, MySQL or any other search system your are using.
  3. The response contains the image IDs matching the search criteria. Up to now, no visual search was done.
  4. Handover the set of image IDs with the visual search parameters to pixolution flow using the UniversalConnectorHandler (see Query Example).
  5. pixolution flow performs the search on the given image set (identified by their IDs) and returns a ranked result, that fits both: the search criteria processed by your search system and the visual search criteria processed by pixolution flow.
  6. Parse the search result and return an overall response to the user request.