require(['gitbook','jquery'],function(gitbook,$){function LunrSearchEngine(){this.index=null;this.store={};this.name='LunrSearchEngine';} LunrSearchEngine.prototype.init=function(){var that=this;var d=$.Deferred();$.getJSON(gitbook.state.basePath+'/search_index.json').then(function(data){that.index=lunr.Index.load(data.index);that.store=data.store;d.resolve();});return d.promise();};LunrSearchEngine.prototype.search=function(q,offset,length){var that=this;var results=[];if(this.index){results=$.map(this.index.search(q),function(result){var doc=that.store[result.ref];return{title:doc.title,url:doc.url,body:doc.summary||doc.body};});} return $.Deferred().resolve({query:q,results:results.slice(0,length),count:results.length}).promise();};gitbook.events.bind('start',function(e,config){var engine=gitbook.search.getEngine();if(!engine){gitbook.search.setEngine(LunrSearchEngine,config);}});});