function search(sQuery, oOptions) {

			return new Promise(function(resolve, reject) {
				init().then(function() {

					oWorker.addEventListener('message', function(oEvent) {
						var oData = oEvent.data;
						resolve(oData && oData[WORKER.RESPONSE_FIELDS.SEARCH_RESULT]);
					}, false);

					oWorker.postMessage({
						"cmd": WORKER.COMMANDS.SEARCH,
						"query": sQuery,
						"options": oOptions
					});
				})
				.catch(function(err) {
					Log.error(err);
				});
			});
		}
Initiates search and return a promise with the search result

@param sQuery the search string
@returns {Promise<any>}