-
Notifications
You must be signed in to change notification settings - Fork 0
/
search-pro.worker.js
2 lines (2 loc) · 116 KB
/
search-pro.worker.js
1
2
const{entries:V}=Object,{fromEntries:et}=Object,st="ENTRIES",L="KEYS",T="VALUES",_="";class D{set;_type;_path;constructor(t,s){const n=t._tree,o=Array.from(n.keys());this.set=t,this._type=s,this._path=o.length>0?[{node:n,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:s}=E(this._path);if(E(s)===_)return{done:!1,value:this.result()};const n=t.get(E(s));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=E(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>E(t)).filter(t=>t!==_).join("")}value(){return E(this._path).node.get(_)}result(){switch(this._type){case T:return this.value();case L:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const E=e=>e[e.length-1],nt=(e,t,s)=>{const n=new Map;if(t===void 0)return n;const o=t.length+1,u=o+s,i=new Uint8Array(u*o).fill(s+1);for(let r=0;r<o;++r)i[r]=r;for(let r=1;r<u;++r)i[r*o]=r;return R(e,t,s,n,i,1,o,""),n},R=(e,t,s,n,o,u,i,r)=>{const d=u*i;t:for(const c of e.keys())if(c===_){const a=o[d-1];a<=s&&n.set(r,[e.get(c),a])}else{let a=u;for(let h=0;h<c.length;++h,++a){const g=c[h],m=i*a,p=m-i;let l=o[m];const f=Math.max(0,a-s-1),y=Math.min(i-1,a+s);for(let F=f;F<y;++F){const v=g!==t[F],z=o[p+F]+ +v,A=o[p+F+1]+1,w=o[m+F]+1,j=o[m+F+1]=Math.min(z,A,w);j<l&&(l=j)}if(l>s)continue t}R(e.get(c),t,s,n,o,a,i,r+c)}};class C{_tree;_prefix;_size=void 0;constructor(t=new Map,s=""){this._tree=t,this._prefix=s}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[s,n]=x(this._tree,t.slice(this._prefix.length));if(s===void 0){const[o,u]=O(n);for(const i of o.keys())if(i!==_&&i.startsWith(u)){const r=new Map;return r.set(i.slice(u.length),o.get(i)),new C(r,t)}}return new C(s,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,ot(this._tree,t)}entries(){return new D(this,st)}forEach(t){for(const[s,n]of this)t(s,n,this)}fuzzyGet(t,s){return nt(this._tree,t,s)}get(t){const s=k(this._tree,t);return s!==void 0?s.get(_):void 0}has(t){const s=k(this._tree,t);return s!==void 0&&s.has(_)}keys(){return new D(this,L)}set(t,s){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,I(this._tree,t).set(_,s),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);return n.set(_,s(n.get(_))),this}fetch(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);let o=n.get(_);return o===void 0&&n.set(_,o=s()),o}values(){return new D(this,T)}[Symbol.iterator](){return this.entries()}static from(t){const s=new C;for(const[n,o]of t)s.set(n,o);return s}static fromObject(t){return C.from(Object.entries(t))}}const x=(e,t,s=[])=>{if(t.length===0||e==null)return[e,s];for(const n of e.keys())if(n!==_&&t.startsWith(n))return s.push([e,n]),x(e.get(n),t.slice(n.length),s);return s.push([e,t]),x(void 0,"",s)},k=(e,t)=>{if(t.length===0||e==null)return e;for(const s of e.keys())if(s!==_&&t.startsWith(s))return k(e.get(s),t.slice(s.length))},I=(e,t)=>{const s=t.length;t:for(let n=0;e&&n<s;){for(const u of e.keys())if(u!==_&&t[n]===u[0]){const i=Math.min(s-n,u.length);let r=1;for(;r<i&&t[n+r]===u[r];)++r;const d=e.get(u);if(r===u.length)e=d;else{const c=new Map;c.set(u.slice(r),d),e.set(t.slice(n,n+r),c),e.delete(u),e=c}n+=r;continue t}const o=new Map;return e.set(t.slice(n),o),o}return e},ot=(e,t)=>{const[s,n]=x(e,t);if(s!==void 0){if(s.delete(_),s.size===0)W(n);else if(s.size===1){const[o,u]=s.entries().next().value;q(n,o,u)}}},W=e=>{if(e.length===0)return;const[t,s]=O(e);if(t.delete(s),t.size===0)W(e.slice(0,-1));else if(t.size===1){const[n,o]=t.entries().next().value;n!==_&&q(e.slice(0,-1),n,o)}},q=(e,t,s)=>{if(e.length===0)return;const[n,o]=O(e);n.set(o+t,s),n.delete(o)},O=e=>e[e.length-1],ut=(e,t)=>{const s=e._idToShortId.get(t);if(s!=null)return e._storedFields.get(s)},it=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u,M="or",$="and",rt="and_not",ct=(e,t)=>{e.includes(t)||e.push(t)},N=(e,t)=>{for(const s of t)e.includes(s)||e.push(s)},P=({score:e},{score:t})=>t-e,lt=()=>new Map,b=e=>{const t=new Map;for(const s of Object.keys(e))t.set(parseInt(s,10),e[s]);return t},G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,ht={[M]:(e,t)=>{for(const s of t.keys()){const n=e.get(s);if(n==null)e.set(s,t.get(s));else{const{score:o,terms:u,match:i}=t.get(s);n.score=n.score+o,n.match=Object.assign(n.match,i),N(n.terms,u)}}return e},[$]:(e,t)=>{const s=new Map;for(const n of t.keys()){const o=e.get(n);if(o==null)continue;const{score:u,terms:i,match:r}=t.get(n);N(o.terms,i),s.set(n,{score:o.score+u,terms:o.terms,match:Object.assign(o.match,r)})}return s},[rt]:(e,t)=>{for(const s of t.keys())e.delete(s);return e}},dt=(e,t,s,n,o,u)=>{const{k:i,b:r,d}=u;return Math.log(1+(s-t+.5)/(t+.5))*(d+e*(i+1)/(e+i*(1-r+r*n/o)))},at=e=>(t,s,n)=>{const o=typeof e.fuzzy=="function"?e.fuzzy(t,s,n):e.fuzzy||!1,u=typeof e.prefix=="function"?e.prefix(t,s,n):e.prefix===!0;return{term:t,fuzzy:o,prefix:u}},H=(e,t,s,n)=>{for(const o of Object.keys(e._fieldIds))if(e._fieldIds[o]===s){e._options.logger("warn",`SlimSearch: document with ID ${e._documentIds.get(t)} has changed before removal: term "${n}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}},ft=(e,t,s,n)=>{if(!e._index.has(n)){H(e,s,t,n);return}const o=e._index.fetch(n,lt),u=o.get(t);u==null||u.get(s)==null?H(e,s,t,n):u.get(s)<=1?u.size<=1?o.delete(t):u.delete(s):u.set(s,u.get(s)-1),e._index.get(n).size===0&&e._index.delete(n)},gt={k:1.2,b:.7,d:.5},mt={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(it),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof console?.[e]=="function"&&console[e](t)},autoVacuum:!0},J={combineWith:M,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:gt},pt={combineWith:$,prefix:(e,t,s)=>t===s.length-1},Ft={batchSize:1e3,batchWait:10},U={minDirtFactor:.1,minDirtCount:20},_t={...Ft,...U},K=Symbol("*"),yt=(e,t)=>{const s=new Map,n={...e._options.searchOptions,...t};for(const[o,u]of e._documentIds){const i=n.boostDocument?n.boostDocument(u,"",e._storedFields.get(o)):1;s.set(o,{score:i,terms:[],match:{}})}return s},X=(e,t=M)=>{if(e.length===0)return new Map;const s=t.toLowerCase(),n=ht[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map},S=(e,t,s,n,o,u,i,r,d=new Map)=>{if(o==null)return d;for(const c of Object.keys(u)){const a=u[c],h=e._fieldIds[c],g=o.get(h);if(g==null)continue;let m=g.size;const p=e._avgFieldLength[h];for(const l of g.keys()){if(!e._documentIds.has(l)){ft(e,h,l,s),m-=1;continue}const f=i?i(e._documentIds.get(l),s,e._storedFields.get(l)):1;if(!f)continue;const y=g.get(l),F=e._fieldLength.get(l)[h],v=dt(y,m,e._documentCount,F,p,r),z=n*a*f*v,A=d.get(l);if(A){A.score+=z,ct(A.terms,t);const w=G(A.match,s);w?w.push(c):A.match[s]=[c]}else d.set(l,{score:z,terms:[t],match:{[s]:[c]}})}}return d},At=(e,t,s)=>{const n={...e._options.searchOptions,...s},o=(n.fields||e._options.fields).reduce((l,f)=>({...l,[f]:G(n.boost,f)||1}),{}),{boostDocument:u,weights:i,maxFuzzy:r,bm25:d}=n,{fuzzy:c,prefix:a}={...J.weights,...i},h=e._index.get(t.term),g=S(e,t.term,t.term,1,h,o,u,d);let m,p;if(t.prefix&&(m=e._index.atPrefix(t.term)),t.fuzzy){const l=t.fuzzy===!0?.2:t.fuzzy,f=l<1?Math.min(r,Math.round(t.term.length*l)):l;f&&(p=e._index.fuzzyGet(t.term,f))}if(m)for(const[l,f]of m){const y=l.length-t.term.length;if(!y)continue;p?.delete(l);const F=a*l.length/(l.length+.3*y);S(e,t.term,l,F,f,o,u,d,g)}if(p)for(const l of p.keys()){const[f,y]=p.get(l);if(!y)continue;const F=c*l.length/(l.length+y);S(e,t.term,l,F,f,o,u,d,g)}return g},Y=(e,t,s={})=>{if(t===K)return yt(e,s);if(typeof t!="string"){const a={...s,...t,queries:void 0},h=t.queries.map(g=>Y(e,g,a));return X(h,a.combineWith)}const{tokenize:n,processTerm:o,searchOptions:u}=e._options,i={tokenize:n,processTerm:o,...u,...s},{tokenize:r,processTerm:d}=i,c=r(t).flatMap(a=>d(a)).filter(a=>!!a).map(at(i)).map(a=>At(e,a,i));return X(c,i.combineWith)},Q=(e,t,s={})=>{const n=Y(e,t,s),o=[];for(const[u,{score:i,terms:r,match:d}]of n){const c=r.length||1,a={id:e._documentIds.get(u),score:i*c,terms:Object.keys(d),queryTerms:r,match:d};Object.assign(a,e._storedFields.get(u)),(s.filter==null||s.filter(a))&&o.push(a)}return t===K&&s.boostDocument==null&&e._options.searchOptions.boostDocument==null||o.sort(P),o},Ct=(e,t,s={})=>{s={...e._options.autoSuggestOptions,...s};const n=new Map;for(const{score:u,terms:i}of Q(e,t,s)){const r=i.join(" "),d=n.get(r);d!=null?(d.score+=u,d.count+=1):n.set(r,{score:u,terms:i,count:1})}const o=[];for(const[u,{score:i,terms:r,count:d}]of n)o.push({suggestion:u,terms:r,score:i/d});return o.sort(P),o};class Et{_options;_index;_documentCount;_documentIds;_idToShortId;_fieldIds;_fieldLength;_avgFieldLength;_nextId;_storedFields;_dirtCount;_currentVacuum;_enqueuedVacuum;_enqueuedVacuumConditions;constructor(t){if(t?.fields==null)throw new Error('SlimSearch: option "fields" must be provided');const s=t.autoVacuum==null||t.autoVacuum===!0?_t:t.autoVacuum;this._options={...mt,...t,autoVacuum:s,searchOptions:{...J,...t.searchOptions||{}},autoSuggestOptions:{...pt,...t.autoSuggestOptions||{}}},this._index=new C,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=U,this.addFields(this._options.fields)}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}get documentCount(){return this._documentCount}get termCount(){return this._index.size}toJSON(){const t=[];for(const[s,n]of this._index){const o={};for(const[u,i]of n)o[u]=Object.fromEntries(i);t.push([s,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}addFields(t){for(let s=0;s<t.length;s++)this._fieldIds[t[s]]=s}}const zt=({index:e,documentCount:t,nextId:s,documentIds:n,fieldIds:o,fieldLength:u,averageFieldLength:i,storedFields:r,dirtCount:d,serializationVersion:c},a)=>{if(c!==1&&c!==2)throw new Error("SlimSearch: cannot deserialize an index created with an incompatible version");const h=new Et(a);h._documentCount=t,h._nextId=s,h._documentIds=b(n),h._idToShortId=new Map,h._fieldIds=o,h._fieldLength=b(u),h._avgFieldLength=i,h._storedFields=b(r),h._dirtCount=d||0,h._index=new C;for(const[g,m]of h._documentIds)h._idToShortId.set(m,g);for(const[g,m]of e){const p=new Map;for(const l of Object.keys(m)){let f=m[l];c===1&&(f=f.ds),p.set(parseInt(l,10),b(f))}h._index.set(g,p)}return h},B=(e,t)=>{const s=e.toLowerCase(),n=t.toLowerCase(),o=[];let u=0,i=0;const r=(c,a=!1)=>{let h="";i===0?h=c.length>20?`… ${c.slice(-20)}`:c:a?h=c.length+i>100?`${c.slice(0,100-i)}… `:c:h=c.length>20?`${c.slice(0,20)} … ${c.slice(-20)}`:c,h&&o.push(h),i+=h.length,a||(o.push(["mark",t]),i+=t.length,i>=100&&o.push(" …"))};let d=s.indexOf(n,u);if(d===-1)return null;for(;d>=0;){const c=d+n.length;if(r(e.slice(u,d)),u=c,i>100)break;d=s.indexOf(n,u)}return i<100&&r(e.slice(u),!0),o},wt=(e,t)=>t.contents.reduce((s,[,n])=>s+n,0)-e.contents.reduce((s,[,n])=>s+n,0),xt=(e,t)=>Math.max(...t.contents.map(([,s])=>s))-Math.max(...e.contents.map(([,s])=>s)),Z=(e,t,s={})=>{const n={};return Q(t,e,{boost:{h:2,t:1,c:4},prefix:!0,...s}).forEach(o=>{const{id:u,terms:i,score:r}=o,d=u.includes("@"),c=u.includes("#"),[a,h]=u.split(/[#@]/),g=Number(a),m=i.sort((l,f)=>l.length-f.length).filter((l,f)=>i.slice(f+1).every(y=>!y.includes(l))),{contents:p}=n[g]??={title:"",contents:[]};if(d)p.push([{type:"customField",id:g,index:h,display:m.map(l=>o.c.map(f=>B(f,l))).flat().filter(l=>l!==null)},r]);else{const l=m.map(f=>B(o.h,f)).filter(f=>f!==null);if(l.length&&p.push([{type:c?"heading":"title",id:g,...c&&{anchor:h},display:l},r]),"t"in o)for(const f of o.t){const y=m.map(F=>B(f,F)).filter(F=>F!==null);y.length&&p.push([{type:"text",id:g,...c&&{anchor:h},display:y},r])}}}),V(n).sort(([,o],[,u])=>"max"==="total"?wt(o,u):xt(o,u)).map(([o,{title:u,contents:i}])=>{if(!u){const r=ut(t,o);r&&(u=r.h)}return{title:u,contents:i.map(([r])=>r)}})},tt=(e,t,s={})=>{const n=Ct(t,e,{fuzzy:.2,maxFuzzy:3,...s}).map(({suggestion:o})=>o);return e.includes(" ")?n:n.filter(o=>!o.includes(" "))},bt=et(V(JSON.parse("{\"/\":{\"documentCount\":41,\"nextId\":41,\"documentIds\":{\"0\":\"0\",\"1\":\"0#how-to-use\",\"2\":\"0#install\",\"3\":\"0#usage\",\"4\":\"1\",\"5\":\"1#plugin-options\",\"6\":\"1#indexcontent\",\"7\":\"1#autosuggestions\",\"8\":\"1#customfields\",\"9\":\"1#hotkeys\",\"10\":\"1#queryhistorycount\",\"11\":\"1#resulthistorycount\",\"12\":\"1#searchdelay\",\"13\":\"1#filter\",\"14\":\"1#sortstrategy\",\"15\":\"1#worker\",\"16\":\"1#hotreload\",\"17\":\"1#indexoptions\",\"18\":\"1#indexlocaleoptions\",\"19\":\"1#locales\",\"20\":\"1#client-config\",\"21\":\"1#definesearchconfig\",\"22\":\"1#createsearchworker\",\"23\":\"2\",\"24\":\"3\",\"25\":\"3#get-started\",\"26\":\"3#index-range\",\"27\":\"3#ultra-fast\",\"28\":\"3#highlighting-and-context\",\"29\":\"3#auto-suggestions\",\"30\":\"3#query-and-search-history\",\"31\":\"3#full-keyboard-support\",\"32\":\"3#custom-fields\",\"33\":\"3#locale-customization\",\"34\":\"3#advanced\",\"35\":\"3#customize-index-generation\",\"36\":\"3#customize-search-options\",\"37\":\"3#using-with-api\",\"38\":\"3#limitations-in-devserver\",\"39\":\"3#comparing-with-server-search\",\"40\":\"8\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[1],\"1\":[3],\"2\":[1],\"3\":[1],\"4\":[1],\"5\":[2],\"6\":[1,37],\"7\":[1,11],\"8\":[1,81],\"9\":[1,50],\"10\":[1,15],\"11\":[1,16],\"12\":[1,34],\"13\":[1,13],\"14\":[1,30],\"15\":[1,10],\"16\":[1,54],\"17\":[1,31],\"18\":[1,35],\"19\":[1,115],\"20\":[2],\"21\":[1,62],\"22\":[1,60],\"23\":[1,23],\"24\":[1,18],\"25\":[2],\"26\":[2,86],\"27\":[2,16],\"28\":[3,13],\"29\":[2,28],\"30\":[4,30],\"31\":[3,52],\"32\":[2,174],\"33\":[2,57],\"34\":[1],\"35\":[3,81],\"36\":[3,48],\"37\":[3,40],\"38\":[3,82],\"39\":[4,143],\"40\":[1,3]},\"averageFieldLength\":[1.6829268292682926,39.974347202295554],\"storedFields\":{\"0\":{\"h\":\"Home\"},\"1\":{\"h\":\"How to use\"},\"2\":{\"h\":\"Install\"},\"3\":{\"h\":\"Usage\"},\"4\":{\"h\":\"Config\"},\"5\":{\"h\":\"Plugin Options\"},\"6\":{\"h\":\"indexContent\",\"t\":[\"Type: boolean\",\"Default: false\",\"Whether to enable content indexing.\",\"Tips\",\"By default, only headings and excerpt of the page will be indexed along with your custom fields, and the content of the page will not be indexed. If you need to index the content of the page, you can set this option to true\"]},\"7\":{\"h\":\"autoSuggestions\",\"t\":[\"Type: boolean\",\"Default: true\",\"Whether to show suggestions while searching.\"]},\"8\":{\"h\":\"customFields\",\"t\":[\"Type: SearchProCustomFieldOptions[]\",\"interface SearchProCustomFieldOptions { /** * Custom field getter */ getter: (page: Page) => string[] | string | null | undefined; /** * Display content * * @description `$content` will be replaced by the content returned by `getter` * * @default `$content` */ formatter?: string | Record<string, string>; }\",\"Required: No\",\"Custom search items.\",\"Example\",\"Assuming your theme uses category and tag tags in Frontmatter to mark categories and tags of articles, you can use the following configuration:\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ // We assume you are using the following multilingual locales: { \\\"/\\\": { lang: \\\"en-US\\\", }, \\\"/zh/\\\": { lang: \\\"zh-CN\\\", }, }, plugins: [ searchProPlugin({ customFields: [ { getter: (page) => page.frontmatter.category, formatter: { \\\"/\\\": \\\"Category: $content\\\", \\\"/zh/\\\": \\\"分类:$content\\\", }, }, { getter: (page) => page.frontmatter.tag, formatter: { \\\"/\\\": \\\"Tag: $content\\\", \\\"/zh/\\\": \\\"标签:$content\\\", }, }, ], }), ], });\"]},\"9\":{\"h\":\"hotKeys\",\"t\":[\"Type: SearchProHotKeyOptions[]\",\"interface SearchProHotKeyOptions { /** * Value of `event.key` to trigger the hot key */ key: string; /** * Whether to press `event.altKey` at the same time * * @default false */ alt?: boolean; /** * Whether to press `event.ctrlKey` at the same time * * @default false */ ctrl?: boolean; /** * Whether to press `event.shiftKey` at the same time * * @default false */ shift?: boolean; /** * Whether to press `event.metaKey` at the same time * * @default false */ meta?: boolean; }\",\"Default: [{ key: \\\"k\\\", ctrl: true }, { key: \\\"/\\\", ctrl: true }]\",\"Specify the event.key of the hotkeys.\",\"When hotkeys are pressed, the search box input will be focused. Set to an empty array to disable hotkeys.\"]},\"10\":{\"h\":\"queryHistoryCount\",\"t\":[\"Type: number\",\"Default: 5\",\"Max stored query history count, set 0 to disable it.\"]},\"11\":{\"h\":\"resultHistoryCount\",\"t\":[\"Type: number\",\"Default: 5\",\"Max stored matched result history count, set 0 to disable it.\"]},\"12\":{\"h\":\"searchDelay\",\"t\":[\"Type: number\",\"Default: 150\",\"Delay to start searching after input.\",\"Note\",\"Performing client search with huge contents could be slow, so under this case you might need to increase this value to ensure user finish input before searching.\"]},\"13\":{\"h\":\"filter\",\"t\":[\"Type: (page: Page) => boolean\",\"Default: () => true\",\"Function used to filter pages.\"]},\"14\":{\"h\":\"sortStrategy\",\"t\":[\"Type: \\\"max\\\" | \\\"total\\\"\",\"Default: \\\"max\\\"\",\"Result Sort strategy.\",\"When there are multiple matched results, the result will be sorted by the strategy. max means that page having higher total score will be placed in front. total means that page having higher max score will be placed in front.\"]},\"15\":{\"h\":\"worker\",\"t\":[\"Type: string\",\"Default: search-pro.worker.js\",\"Output Worker filename\"]},\"16\":{\"h\":\"hotReload\",\"t\":[\"Type: boolean\",\"Default: Whether using --debug flag\",\"Whether to enable hot reload in the development server.\",\"Note\",\"It is disabled by default because this feature can have a huge performance impact on sites with huge content and drastically increases the speed of hot reloads when editing Markdown.\",\"Usually in development, users do not need to update the index database in real time.\"]},\"17\":{\"h\":\"indexOptions\",\"t\":[\"Type: SearchProIndexOptions\",\"interface SearchProIndexOptions { /** * Function to tokenize the index field item. */ tokenize?: (text: string, fieldName?: string) => string[]; /** * Function to process or normalize terms in the index field. */ processTerm?: ( term: string, ) => string | string[] | null | undefined | false; }\",\"Required: No\",\"Options used to create index.\"]},\"18\":{\"h\":\"indexLocaleOptions\",\"t\":[\"Type: Record<string, SearchProIndexOptions>\",\"interface SearchProIndexOptions { /** * Function to tokenize the index field item. */ tokenize?: (text: string, fieldName?: string) => string[]; /** * Function to process or normalize terms in the index field. */ processTerm?: ( term: string, ) => string | string[] | null | undefined | false; }\",\"Required: No\",\"Options used to create index per locale.\"]},\"19\":{\"h\":\"locales\",\"t\":[\"Type: SearchProLocaleConfig\",\"/** * Multi language config for `vuepress-plugin-search-pro` plugin */ interface SearchProLocaleData { /** * Search box placeholder */ placeholder: string; /** * Search text */ search: string; /** * Searching text */ searching: string; /** * Cancel text */ cancel: string; /** * Default title */ defaultTitle: string; /** * Select hint */ select: string; /** * Choose hint */ navigate: string; /** * Autocomplete hint */ autocomplete: string; /** * Close hint */ exit: string; /** * Loading hint */ loading: string; /** * Search query history title */ queryHistory: string; /** * Search result history title */ resultHistory: string; /** * Search history empty hint */ emptyHistory: string; /** * Empty hint */ emptyResult: string; } interface SearchProLocaleConfig { [localePath: string]: SearchProLocaleData; }\",\"Required: No\",\"Multilingual configuration of the search plugin.\",\"Built-in Supported Languages\",\"Simplified Chinese (zh-CN)\",\"Traditional Chinese (zh-TW)\",\"English (United States) (en-US)\",\"German (de-DE)\",\"German (Australia) (de-AT)\",\"Russian (ru-RU)\",\"Ukrainian (uk-UA)\",\"Vietnamese (vi-VN)\",\"Portuguese (Brazil) (pt-BR)\",\"Polish (pl-PL)\",\"French (fr-FR)\",\"Spanish (es-ES)\",\"Slovak (sk-SK)\",\"Japanese (ja-JP)\",\"Turkish (tr-TR)\",\"Korean (ko-KR)\",\"Finnish (fi-FI)\",\"Indonesian (id-ID)\",\"Dutch (nl-NL)\"]},\"20\":{\"h\":\"Client Config\"},\"21\":{\"h\":\"defineSearchConfig\",\"t\":[\"Customize search options.\",\"We also support these options internally:\",\"interface SearchLocaleOptions extends Omit< SearchOptions, // These are handled internally | \\\"fields\\\" // These can not pass to worker | \\\"filter\\\" | \\\"boostDocument\\\" | \\\"tokenize\\\" | \\\"processTerm\\\" > { /** A function to filter suggestions */ suggestionsFilter?: ( suggestions: string[], query: string, locale: string, pageData: PageData, ) => string[]; /** A function to filter search results */ searchFilter?: ( results: SearchResult[], query: string, locale: string, pageData: PageData, ) => SearchResult[]; /** Word spliter */ splitWord?: (query: string) => Promise<string[]>; } interface SearchOptions extends SearchLocaleOptions { /** Setting different options per locale */ locales?: Record<string, SearchLocaleOptions>; }\",\"import { defineSearchConfig } from \\\"vuepress-plugin-search-pro/client\\\"; defineSearchConfig({ // search options here }); export default {};\"]},\"22\":{\"h\":\"createSearchWorker\",\"t\":[\"Create a search worker so that you can search through API.\",\"type Word = [tag: string, content: string] | string; interface TitleMatchedItem { type: \\\"title\\\"; id: string; display: Word[]; } interface HeadingMatchedItem { type: \\\"heading\\\"; id: string; display: Word[]; } interface CustomMatchedItem { type: \\\"custom\\\"; id: string; index: string; display: Word[]; } interface ContentMatchedItem { type: \\\"content\\\"; id: string; header: string; display: Word[]; } type MatchedItem = | TitleMatchedItem | HeadingMatchedItem | ContentMatchedItem | CustomMatchedItem; interface SearchResult { title: string; contents: MatchedItem[]; } interface SearchWorker { /** * Get both suggestions and results * * @param query - search query * @param localePath - locale path * @param options - search options */ all: ( query: string, localePath?: string, options?: SearchOptions<string, IndexItem>, ) => Promise<QueryResult>; /** * Get suggestions * * * @param query - search query * @param localePath - locale path * @param options - search options */ suggest: ( query: string, localePath?: string, options?: SearchOptions<string, IndexItem>, ) => Promise<string[]>; /** * Get search results * * * @param query - search query * @param localePath - locale path * @param options - search options */ search: ( query: string, localePath?: string, options?: SearchOptions<string, IndexItem>, ) => Promise<SearchResult[]>; /** * Terminate current worker */ terminate: () => void; } const createSearchWorker: () => SearchWorker;\"]},\"23\":{\"h\":\"Demo\",\"t\":[\"We provide a demo using vuepress-plugin-search-pro and @vuepress/theme-default for you to better understand how to use the plugin.\",\"Source Code.\",\"Preview\"]},\"24\":{\"h\":\"Guide\",\"t\":[\"vuepress-plugin-search-pro is a powerful client-side search plugin that can support custom indexing and full-text search.\"]},\"25\":{\"h\":\"Get Started\"},\"26\":{\"h\":\"Index Range\",\"t\":[\"By default, the plugin will only index headings, article excerpt and custom fields you add. If you want to index all content, you should set indexContent: true in the plugin options.\",\"If you want only some of the pages to be indexed, set filter options in plugin options to control which pages are indexed, see Config → Filter. You can also set search: false in frontmatter to prevent a page from being indexed.\",\"Warning\",\"When indexing languages that is not word based, like Chinese, Japanese or Korean, you should set indexOptions and indexLocaleOptions to perform correct word-splitting, see Customize Index Generation.\",\"Meanwhile, for better client search experience, you should customize the splitWord option to split the input query through defineSearchConfig.\"]},\"27\":{\"h\":\"Ultra Fast\",\"t\":[\"With slimsearch, searching with vuepress-plugin-search-pro is ultra fast, even on large sites.\"]},\"28\":{\"h\":\"Highlighting and Context\",\"t\":[\"The plugin highlights keywords in search results and displays context around them.\"]},\"29\":{\"h\":\"Auto Suggestions\",\"t\":[\"The plugin will show related words as suggestions when you type in the search box by default. If you don't need this behavior, please set autoSuggestions: false.\"]},\"30\":{\"h\":\"Query and Search History\",\"t\":[\"The plugin will display 5 last query you type and 5 last search result you choose at startup.\",\"This behavior can be changed by setting queryHistoryCount and resultHistoryCount option, which you can disable them by setting 0.\"]},\"31\":{\"h\":\"Full Keyboard Support\",\"t\":[\"The plugin supports keyboard navigation out of box, where you can:\",\"use hotkey to activate the search box\",\"use ↑ and ↓ to navigate through search results and auto suggestions\",\"use Tab to apply suggestions\",\"use Enter to open the selected result\",\"use Esc to close suggestions list or the search box\",\"By default, the search hotkey are Ctrl + K and Ctrl + /. You can customize search hotkeys via the hotkeys option, see Config → Hot Keys.\"]},\"32\":{\"h\":\"Custom Fields\",\"t\":[\"Whether you are a theme developer or a user, it's a common operation to add extra data to a page through Frontmatter or the extendsPage lifecycle. In most cases, you may want to index these data as well, so here is customFields option.\",\"customFields accepts an array, each element represents a custom search index configuration item. Each configuration item contains 2 parts:\",\"getter: The getter for this custom field. This function takes page object as a parameter and returns the value of the custom field as a string (single), an array of strings (multiple), null (the item is missing).\",\"formatter: a string controlling how the item is displayed in the custom search result, where $content is replaced with the actual value returned by getter. If you're using multiple languages, you can also set it as an object to set the display format for each language individually.\",\"These data will be added to indexes and the search result will contain them.\",\"Difficult to understand? Here is an example.\",\"Adding author to index\",\"Assuming you add author information via author in Frontmatter:\",\"--- author: Your name --- Markdown content...\",\"You can add authors to the index by setting:\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ plugins: [ searchProPlugin({ customFields: [ { name: \\\"author\\\", getter: (page) => page.frontmatter.author, formatter: \\\"Author: $content\\\", }, ], }), ], });\",\"Simple, isn't it?\",\"A more complex but practical example\",\"Suppose you are using the @vuepress/plugin-git plugin, and you add categories and tags to your articles in Frontmatter via category and tag.\",\"If you also put Chinese and English under /zh/ and / respectively, you need to configure as follows:\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ // We assume you are using the following multilingual locales: { \\\"/\\\": { lang: \\\"en-US\\\", }, \\\"/zh/\\\": { lang: \\\"zh-CN\\\", }, }, plugins: [ searchProPlugin({ customFields: [ { getter: (page) => page.frontmatter.category, formatter: { \\\"/\\\": \\\"Category: $content\\\", \\\"/zh/\\\": \\\"分类:$content\\\", }, }, { getter: (page) => page.frontmatter.tag, formatter: { \\\"/\\\": \\\"Tag: $content\\\", \\\"/zh/\\\": \\\"标签:$content\\\", }, }, { name: \\\"updateTime\\\", getter: (page) => page.data.git?.updateTime.toLocaleString(), formatter: { \\\"/\\\": \\\"Update time: $content\\\", \\\"/zh/\\\": \\\"更新时间:$content\\\", }, }, ], }), ], });\"]},\"33\":{\"h\":\"Locale Customization\",\"t\":[\"You can add new locale config or modify existing ones through locales option.\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ locales: { \\\"/\\\": { // this is a supported language lang: \\\"en-US\\\", }, \\\"/xx/\\\": { // the plugin does not support this language lang: \\\"mm-NN\\\", }, }, plugins: [ searchProPlugin({ locales: { \\\"/\\\": { // Override placeholder placeholder: \\\"Start Searching\\\", }, \\\"/xx/\\\": { // Complete locale config for `mm-NN` language here }, }, }), ], });\",\"For specific options, see Config → Locale Settings.\"]},\"34\":{\"h\":\"Advanced\"},\"35\":{\"h\":\"Customize Index Generation\",\"t\":[\"If you are indexing other language which is not using \\\"Words\\\", like Chinese, Japanese or Korean, you should set indexOptions and indexLocaleOptions to perform correct word-splitting.\",\"If you are building a Chinese docs, you can use nodejs-jieba to perform word splitting. (Japanese and Korean do not have built-in dictionary, but you can provide your own dictionary and split words with nodejs-jieba).\",\"If your docs only contain Chinese, you can tokenize the content like this:\",\"import { cut } from \\\"nodejs-jieba\\\"; import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ lang: \\\"zh-CN\\\", plugins: [ searchProPlugin({ // index all content indexContent: true, indexOptions: { // tokenize the content with nodejs-jieba tokenize: (text, fieldName) => fieldName === \\\"id\\\" ? [text] : cut(text, true), }, }), ], });\",\"If you need word splitting in some locales, you can set indexLocaleOptions:\",\"import { cut } from \\\"nodejs-jieba\\\"; import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ locales: { \\\"/\\\": { lang: \\\"en-US\\\", }, \\\"/zh/\\\": { lang: \\\"zh-CN\\\", }, }, plugins: [ searchProPlugin({ indexContent: true, indexLocaleOptions: { \\\"/zh/\\\": { // tokenize the content with nodejs-jieba tokenize: (text, fieldName) => fieldName === \\\"id\\\" ? [text] : cut(text, true), }, }, }), ], });\"]},\"36\":{\"h\":\"Customize Search Options\",\"t\":[\"You can customize search options by importing and calling defineSearchConfig in client config file:\",\"import { defineClientConfig } from \\\"vuepress/client\\\"; import { defineSearchConfig } from \\\"vuepress-plugin-search-pro/client\\\"; defineSearchConfig({ // search options here }); export default defineClientConfig({ // ... });\",\"Note\",\"Since searching is done in a Web Worker, setting function-typed options for slimsearch is not supported.\",\"For filtering suggestions and search results, we provide suggestFilter and searchFilter for you.\"]},\"37\":{\"h\":\"Using with API\",\"t\":[\"If you want to use the search API, you need to import the createSearchWorker function from vuepress-plugin-search-pro/client:\",\"import { defineClientConfig } from \\\"vuepress/client\\\"; import { createSearchWorker } from \\\"vuepress-plugin-search-pro/client\\\"; const { all, suggest, search, terminate } = createSearchWorker(); // suggest something suggest(\\\"key\\\").then((suggestions) => { // display search suggestions }); // search something search(\\\"keyword\\\").then((results) => { // display search results }); // return both suggestions and results all(\\\"key\\\").then(({ suggestions, results }) => { // display search suggestions and results }); // terminate the worker when you don't need it terminate();\"]},\"38\":{\"h\":\"Limitations in DevServer\",\"t\":[\"The search service is powered by a worker, and in dev mode we cannot bundle the worker file.\",\"In order to load search indexes in dev mode, we are using a modern service worker with type: \\\"module\\\", however currently this feature is not available in Safari. So if you want to try searching in devServer, you should use a supported browser, see CanIUse for support details.\",\"For better performance, adding/editing/deleting markdown contents will not trigger update for search index in dev mode. If you are proofreading or refining your search results, you can enable hot reloading by setting the hotReload: true option, see Config → Hot Reload.\"]},\"39\":{\"h\":\"Comparing with Server-Search\",\"t\":[\"Client-side search has advantages, like no backend services and easy to add, but you should be aware that it has disadvantages.\",\"Disadvantages\",\"You need to index your website during the build stage, which increases website deployment time and website bundle size.\",\"Users need to fetch the entire search index from your server before searching, which will bring additional traffic and bandwidth pressure to your server. The more content you hold on your site, the larger search index will be.\",\"To perform a search, users must wait for the search index to be downloaded and parsed locally. This may be much slower than performing a simple web request to get results via Server-search.\",\"Since searching is done on users devices, the speed is totally based on device performance.\",\"In most cases, if you are building a large site, you should choose a service provider to provide search services for your site if possible, such as Algolia, or choose an open source search crawler tool and host it on your own server to provide a search service and regularly craw your site. This is necessary for large sites because users send search terms to the search API via network requests and get search results directly.\",\"In particular, DocSearch is a free search service provided by Algolia for open source projects. If you are creating open source project documentation or an open source technical blog, you can apply for it, and use @vuepress/plugin-docsearch plugin to provide search features.\"]},\"40\":{\"h\":\"\",\"t\":[\"404 Not Found\"]}},\"dirtCount\":0,\"index\":[[\"404\",{\"1\":{\"40\":1}}],[\"xx\",{\"1\":{\"33\":2}}],[\"更新时间\",{\"1\":{\"32\":1}}],[\"2\",{\"1\":{\"32\":1}}],[\"+\",{\"1\":{\"31\":2}}],[\"↓\",{\"1\":{\"31\":1}}],[\"↑\",{\"1\":{\"31\":1}}],[\"→\",{\"1\":{\"26\":1,\"31\":1,\"33\":1,\"38\":1}}],[\"git\",{\"1\":{\"32\":2}}],[\"guide\",{\"0\":{\"24\":1}}],[\"generation\",{\"0\":{\"35\":1},\"1\":{\"26\":1}}],[\"get\",{\"0\":{\"25\":1},\"1\":{\"22\":3,\"39\":2}}],[\"getter\",{\"1\":{\"8\":4,\"32\":7}}],[\"german\",{\"1\":{\"19\":2}}],[\"===\",{\"1\":{\"35\":2}}],[\"=\",{\"1\":{\"22\":2,\"37\":1}}],[\"=>\",{\"1\":{\"8\":3,\"13\":2,\"17\":2,\"18\":2,\"21\":3,\"22\":5,\"32\":4,\"35\":2,\"37\":3}}],[\">\",{\"1\":{\"21\":2,\"22\":2}}],[\"jieba\",{\"1\":{\"35\":6}}],[\"jp\",{\"1\":{\"19\":1}}],[\"ja\",{\"1\":{\"19\":1}}],[\"japanese\",{\"1\":{\"19\":1,\"26\":1,\"35\":2}}],[\"js\",{\"1\":{\"15\":1}}],[\"range\",{\"0\":{\"26\":1}}],[\"ru\",{\"1\":{\"19\":2}}],[\"russian\",{\"1\":{\"19\":1}}],[\"regularly\",{\"1\":{\"39\":1}}],[\"requests\",{\"1\":{\"39\":1}}],[\"request\",{\"1\":{\"39\":1}}],[\"required\",{\"1\":{\"8\":1,\"17\":1,\"18\":1,\"19\":1}}],[\"refining\",{\"1\":{\"38\":1}}],[\"respectively\",{\"1\":{\"32\":1}}],[\"resulthistory\",{\"1\":{\"19\":1}}],[\"resulthistorycount\",{\"0\":{\"11\":1},\"1\":{\"30\":1}}],[\"results\",{\"1\":{\"14\":1,\"21\":2,\"22\":2,\"28\":1,\"31\":1,\"36\":1,\"37\":5,\"38\":1,\"39\":2}}],[\"result\",{\"1\":{\"11\":1,\"14\":2,\"19\":1,\"30\":1,\"31\":1,\"32\":2}}],[\"re\",{\"1\":{\"32\":1}}],[\"return\",{\"1\":{\"37\":1}}],[\"returns\",{\"1\":{\"32\":1}}],[\"returned\",{\"1\":{\"8\":1,\"32\":1}}],[\"represents\",{\"1\":{\"32\":1}}],[\"replaced\",{\"1\":{\"8\":1,\"32\":1}}],[\"related\",{\"1\":{\"29\":1}}],[\"reloading\",{\"1\":{\"38\":1}}],[\"reloads\",{\"1\":{\"16\":1}}],[\"reload\",{\"1\":{\"16\":1,\"38\":1}}],[\"real\",{\"1\":{\"16\":1}}],[\"record<string\",{\"1\":{\"8\":1,\"18\":1,\"21\":1}}],[\"150\",{\"1\":{\"12\":1}}],[\"0\",{\"1\":{\"10\":1,\"11\":1,\"30\":1}}],[\"queryhistory\",{\"1\":{\"19\":1}}],[\"queryhistorycount\",{\"0\":{\"10\":1},\"1\":{\"30\":1}}],[\"query\",{\"0\":{\"30\":1},\"1\":{\"10\":1,\"19\":1,\"21\":3,\"22\":9,\"26\":1,\"30\":1}}],[\"5\",{\"1\":{\"10\":1,\"11\":1,\"30\":2}}],[\"kr\",{\"1\":{\"19\":1}}],[\"ko\",{\"1\":{\"19\":1}}],[\"korean\",{\"1\":{\"19\":1,\"26\":1,\"35\":2}}],[\"k\",{\"1\":{\"9\":1,\"31\":1}}],[\"keyword\",{\"1\":{\"37\":1}}],[\"keywords\",{\"1\":{\"28\":1}}],[\"keys\",{\"1\":{\"31\":1}}],[\"keyboard\",{\"0\":{\"31\":1},\"1\":{\"31\":1}}],[\"key\",{\"1\":{\"9\":5,\"37\":2}}],[\"key`\",{\"1\":{\"9\":1}}],[\"void\",{\"1\":{\"22\":1}}],[\"vn\",{\"1\":{\"19\":1}}],[\"via\",{\"1\":{\"31\":1,\"32\":2,\"39\":2}}],[\"vi\",{\"1\":{\"19\":1}}],[\"vietnamese\",{\"1\":{\"19\":1}}],[\"value\",{\"1\":{\"9\":1,\"12\":1,\"32\":2}}],[\"vuepress\",{\"1\":{\"8\":2,\"21\":1,\"23\":2,\"24\":1,\"27\":1,\"32\":5,\"33\":2,\"35\":4,\"36\":2,\"37\":3,\"39\":1}}],[\"标签\",{\"1\":{\"8\":1,\"32\":1}}],[\"分类\",{\"1\":{\"8\":1,\"32\":1}}],[\"$content\",{\"1\":{\"8\":4,\"32\":8}}],[\"zh\",{\"1\":{\"8\":4,\"19\":2,\"32\":6,\"35\":4}}],[\"limitations\",{\"0\":{\"38\":1}}],[\"lifecycle\",{\"1\":{\"32\":1}}],[\"list\",{\"1\":{\"31\":1}}],[\"like\",{\"1\":{\"26\":1,\"35\":2,\"39\":1}}],[\"last\",{\"1\":{\"30\":2}}],[\"larger\",{\"1\":{\"39\":1}}],[\"large\",{\"1\":{\"27\":1,\"39\":2}}],[\"languages\",{\"1\":{\"19\":1,\"26\":1,\"32\":1}}],[\"language\",{\"1\":{\"19\":1,\"32\":1,\"33\":3,\"35\":1}}],[\"lang\",{\"1\":{\"8\":2,\"32\":2,\"33\":2,\"35\":3}}],[\"locally\",{\"1\":{\"39\":1}}],[\"localepath\",{\"1\":{\"19\":1,\"22\":6}}],[\"locale\",{\"0\":{\"33\":1},\"1\":{\"18\":1,\"21\":3,\"22\":3,\"33\":3}}],[\"locales\",{\"0\":{\"19\":1},\"1\":{\"8\":1,\"21\":1,\"32\":1,\"33\":3,\"35\":2}}],[\"load\",{\"1\":{\"38\":1}}],[\"loading\",{\"1\":{\"19\":2}}],[\"much\",{\"1\":{\"39\":1}}],[\"must\",{\"1\":{\"39\":1}}],[\"multi\",{\"1\":{\"19\":1}}],[\"multiple\",{\"1\":{\"14\":1,\"32\":2}}],[\"multilingual\",{\"1\":{\"8\":1,\"19\":1,\"32\":1}}],[\"mm\",{\"1\":{\"33\":1}}],[\"module\",{\"1\":{\"38\":1}}],[\"modern\",{\"1\":{\"38\":1}}],[\"mode\",{\"1\":{\"38\":3}}],[\"modify\",{\"1\":{\"33\":1}}],[\"more\",{\"1\":{\"32\":1,\"39\":1}}],[\"most\",{\"1\":{\"32\":1,\"39\":1}}],[\"missing\",{\"1\":{\"32\":1}}],[\"might\",{\"1\":{\"12\":1}}],[\"meanwhile\",{\"1\":{\"26\":1}}],[\"means\",{\"1\":{\"14\":2}}],[\"meta\",{\"1\":{\"9\":1}}],[\"metakey`\",{\"1\":{\"9\":1}}],[\"may\",{\"1\":{\"32\":1,\"39\":1}}],[\"matcheditem\",{\"1\":{\"22\":2}}],[\"matched\",{\"1\":{\"11\":1,\"14\":1}}],[\"max\",{\"1\":{\"10\":1,\"11\":1,\"14\":4}}],[\"markdown\",{\"1\":{\"16\":1,\"32\":1,\"38\":1}}],[\"mark\",{\"1\":{\"8\":1}}],[\"`mm\",{\"1\":{\"33\":1}}],[\"`vuepress\",{\"1\":{\"19\":1}}],[\"`event\",{\"1\":{\"9\":5}}],[\"`getter`\",{\"1\":{\"8\":1}}],[\"`$content`\",{\"1\":{\"8\":2}}],[\"during\",{\"1\":{\"39\":1}}],[\"dutch\",{\"1\":{\"19\":1}}],[\"data\",{\"1\":{\"32\":4}}],[\"database\",{\"1\":{\"16\":1}}],[\"directly\",{\"1\":{\"39\":1}}],[\"dictionary\",{\"1\":{\"35\":2}}],[\"difficult\",{\"1\":{\"32\":1}}],[\"different\",{\"1\":{\"21\":1}}],[\"disadvantages\",{\"1\":{\"39\":2}}],[\"disabled\",{\"1\":{\"16\":1}}],[\"disable\",{\"1\":{\"9\":1,\"10\":1,\"11\":1,\"30\":1}}],[\"displayed\",{\"1\":{\"32\":1}}],[\"displays\",{\"1\":{\"28\":1}}],[\"display\",{\"1\":{\"8\":1,\"22\":4,\"30\":1,\"32\":1,\"37\":3}}],[\"documentation\",{\"1\":{\"39\":1}}],[\"docsearch\",{\"1\":{\"39\":2}}],[\"docs\",{\"1\":{\"35\":2}}],[\"downloaded\",{\"1\":{\"39\":1}}],[\"does\",{\"1\":{\"33\":1}}],[\"done\",{\"1\":{\"36\":1,\"39\":1}}],[\"don\",{\"1\":{\"29\":1,\"37\":1}}],[\"do\",{\"1\":{\"16\":1,\"35\":1}}],[\"drastically\",{\"1\":{\"16\":1}}],[\"deployment\",{\"1\":{\"39\":1}}],[\"deleting\",{\"1\":{\"38\":1}}],[\"delay\",{\"1\":{\"12\":1}}],[\"details\",{\"1\":{\"38\":1}}],[\"device\",{\"1\":{\"39\":1}}],[\"devices\",{\"1\":{\"39\":1}}],[\"dev\",{\"1\":{\"38\":3}}],[\"devserver\",{\"0\":{\"38\":1},\"1\":{\"38\":1}}],[\"developer\",{\"1\":{\"32\":1}}],[\"development\",{\"1\":{\"16\":2}}],[\"demo\",{\"0\":{\"23\":1},\"1\":{\"23\":1}}],[\"de\",{\"1\":{\"19\":3}}],[\"debug\",{\"1\":{\"16\":1}}],[\"defineclientconfig\",{\"1\":{\"36\":2,\"37\":1}}],[\"definesearchconfig\",{\"0\":{\"21\":1},\"1\":{\"21\":2,\"26\":1,\"36\":3}}],[\"defineuserconfig\",{\"1\":{\"8\":2,\"32\":4,\"33\":2,\"35\":4}}],[\"defaulttitle\",{\"1\":{\"19\":1}}],[\"default\",{\"1\":{\"6\":2,\"7\":1,\"8\":2,\"9\":5,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"16\":2,\"19\":1,\"21\":1,\"23\":1,\"26\":1,\"29\":1,\"31\":1,\"32\":2,\"33\":1,\"35\":2,\"36\":1}}],[\"description\",{\"1\":{\"8\":1}}],[\"ultra\",{\"0\":{\"27\":1},\"1\":{\"27\":1}}],[\"ua\",{\"1\":{\"19\":1}}],[\"uk\",{\"1\":{\"19\":1}}],[\"ukrainian\",{\"1\":{\"19\":1}}],[\"united\",{\"1\":{\"19\":1}}],[\"understand\",{\"1\":{\"23\":1,\"32\":1}}],[\"under\",{\"1\":{\"12\":1,\"32\":1}}],[\"undefined\",{\"1\":{\"8\":1,\"17\":1,\"18\":1}}],[\"updatetime\",{\"1\":{\"32\":2}}],[\"update\",{\"1\":{\"16\":1,\"32\":1,\"38\":1}}],[\"usually\",{\"1\":{\"16\":1}}],[\"us\",{\"1\":{\"8\":1,\"19\":1,\"32\":1,\"33\":1,\"35\":1}}],[\"using\",{\"0\":{\"37\":1},\"1\":{\"8\":1,\"16\":1,\"23\":1,\"32\":3,\"35\":1,\"38\":1}}],[\"usage\",{\"0\":{\"3\":1}}],[\"used\",{\"1\":{\"13\":1,\"17\":1,\"18\":1}}],[\"users\",{\"1\":{\"16\":1,\"39\":4}}],[\"user\",{\"1\":{\"12\":1,\"32\":1}}],[\"uses\",{\"1\":{\"8\":1}}],[\"use\",{\"0\":{\"1\":1},\"1\":{\"8\":1,\"23\":1,\"31\":5,\"35\":1,\"37\":1,\"38\":1,\"39\":1}}],[\"|\",{\"1\":{\"8\":4,\"14\":1,\"17\":4,\"18\":4,\"21\":5,\"22\":5}}],[\"safari\",{\"1\":{\"38\":1}}],[\"same\",{\"1\":{\"9\":4}}],[\"s\",{\"1\":{\"32\":1}}],[\"slimsearch\",{\"1\":{\"27\":1,\"36\":1}}],[\"slovak\",{\"1\":{\"19\":1}}],[\"slower\",{\"1\":{\"39\":1}}],[\"slow\",{\"1\":{\"12\":1}}],[\"sk\",{\"1\":{\"19\":2}}],[\"split\",{\"1\":{\"26\":1,\"35\":1}}],[\"splitting\",{\"1\":{\"26\":1,\"35\":3}}],[\"splitword\",{\"1\":{\"21\":1,\"26\":1}}],[\"spliter\",{\"1\":{\"21\":1}}],[\"spanish\",{\"1\":{\"19\":1}}],[\"specific\",{\"1\":{\"33\":1}}],[\"specify\",{\"1\":{\"9\":1}}],[\"speed\",{\"1\":{\"16\":1,\"39\":1}}],[\"site\",{\"1\":{\"39\":4}}],[\"sites\",{\"1\":{\"16\":1,\"27\":1,\"39\":1}}],[\"size\",{\"1\":{\"39\":1}}],[\"since\",{\"1\":{\"36\":1,\"39\":1}}],[\"single\",{\"1\":{\"32\":1}}],[\"simple\",{\"1\":{\"32\":1,\"39\":1}}],[\"simplified\",{\"1\":{\"19\":1}}],[\"side\",{\"1\":{\"24\":1,\"39\":1}}],[\"such\",{\"1\":{\"39\":1}}],[\"suppose\",{\"1\":{\"32\":1}}],[\"supports\",{\"1\":{\"31\":1}}],[\"support\",{\"0\":{\"31\":1},\"1\":{\"21\":1,\"24\":1,\"33\":1,\"38\":1}}],[\"supported\",{\"1\":{\"19\":1,\"33\":1,\"36\":1,\"38\":1}}],[\"suggestfilter\",{\"1\":{\"36\":1}}],[\"suggest\",{\"1\":{\"22\":1,\"37\":3}}],[\"suggestionsfilter\",{\"1\":{\"21\":1}}],[\"suggestions\",{\"0\":{\"29\":1},\"1\":{\"7\":1,\"21\":2,\"22\":2,\"29\":1,\"31\":3,\"36\":1,\"37\":5}}],[\"score\",{\"1\":{\"14\":2}}],[\"something\",{\"1\":{\"37\":2}}],[\"some\",{\"1\":{\"26\":1,\"35\":1}}],[\"source\",{\"1\":{\"23\":1,\"39\":4}}],[\"sorted\",{\"1\":{\"14\":1}}],[\"sort\",{\"1\":{\"14\":1}}],[\"sortstrategy\",{\"0\":{\"14\":1}}],[\"so\",{\"1\":{\"12\":1,\"22\":1,\"32\":1,\"38\":1}}],[\"stage\",{\"1\":{\"39\":1}}],[\"states\",{\"1\":{\"19\":1}}],[\"startup\",{\"1\":{\"30\":1}}],[\"started\",{\"0\":{\"25\":1}}],[\"start\",{\"1\":{\"12\":1,\"33\":1}}],[\"strategy\",{\"1\":{\"14\":2}}],[\"strings\",{\"1\":{\"32\":1}}],[\"string>\",{\"1\":{\"8\":1}}],[\"string\",{\"1\":{\"8\":3,\"9\":1,\"15\":1,\"17\":6,\"18\":6,\"19\":15,\"21\":7,\"22\":16,\"32\":2}}],[\"stored\",{\"1\":{\"10\":1,\"11\":1}}],[\"should\",{\"1\":{\"26\":3,\"35\":1,\"38\":1,\"39\":2}}],[\"show\",{\"1\":{\"7\":1,\"29\":1}}],[\"shift\",{\"1\":{\"9\":1}}],[\"shiftkey`\",{\"1\":{\"9\":1}}],[\"send\",{\"1\":{\"39\":1}}],[\"services\",{\"1\":{\"39\":2}}],[\"service\",{\"1\":{\"38\":2,\"39\":3}}],[\"server\",{\"0\":{\"39\":1},\"1\":{\"16\":1,\"39\":4}}],[\"see\",{\"1\":{\"26\":2,\"31\":1,\"33\":1,\"38\":2}}],[\"selected\",{\"1\":{\"31\":1}}],[\"select\",{\"1\":{\"19\":2}}],[\"searchworker\",{\"1\":{\"22\":2}}],[\"searchresult\",{\"1\":{\"21\":2,\"22\":1}}],[\"searchfilter\",{\"1\":{\"21\":1,\"36\":1}}],[\"searchoptions<string\",{\"1\":{\"22\":3}}],[\"searchoptions\",{\"1\":{\"21\":2}}],[\"searchlocaleoptions>\",{\"1\":{\"21\":1}}],[\"searchlocaleoptions\",{\"1\":{\"21\":2}}],[\"searchdelay\",{\"0\":{\"12\":1}}],[\"searchprolocaledata\",{\"1\":{\"19\":2}}],[\"searchprolocaleconfig\",{\"1\":{\"19\":2}}],[\"searchproindexoptions>\",{\"1\":{\"18\":1}}],[\"searchproindexoptions\",{\"1\":{\"17\":2,\"18\":1}}],[\"searchprohotkeyoptions\",{\"1\":{\"9\":2}}],[\"searchproplugin\",{\"1\":{\"8\":2,\"32\":4,\"33\":2,\"35\":4}}],[\"searchprocustomfieldoptions\",{\"1\":{\"8\":2}}],[\"search\",{\"0\":{\"30\":1,\"36\":1,\"39\":1},\"1\":{\"8\":2,\"9\":1,\"12\":1,\"15\":1,\"19\":8,\"21\":4,\"22\":10,\"23\":1,\"24\":3,\"26\":2,\"27\":1,\"28\":1,\"29\":1,\"30\":1,\"31\":5,\"32\":5,\"33\":1,\"35\":2,\"36\":4,\"37\":9,\"38\":4,\"39\":14}}],[\"searching\",{\"1\":{\"7\":1,\"12\":2,\"19\":2,\"27\":1,\"33\":1,\"36\":1,\"38\":1,\"39\":2}}],[\"settings\",{\"1\":{\"33\":1}}],[\"setting\",{\"1\":{\"21\":1,\"30\":2,\"32\":1,\"36\":1,\"38\":1}}],[\"set\",{\"1\":{\"6\":1,\"9\":1,\"10\":1,\"11\":1,\"26\":4,\"29\":1,\"32\":2,\"35\":2}}],[\"nn`\",{\"1\":{\"33\":1}}],[\"nn\",{\"1\":{\"33\":1}}],[\"network\",{\"1\":{\"39\":1}}],[\"necessary\",{\"1\":{\"39\":1}}],[\"new\",{\"1\":{\"33\":1}}],[\"need\",{\"1\":{\"6\":1,\"12\":1,\"16\":1,\"29\":1,\"32\":1,\"35\":1,\"37\":2,\"39\":2}}],[\"name\",{\"1\":{\"32\":3}}],[\"navigation\",{\"1\":{\"31\":1}}],[\"navigate\",{\"1\":{\"19\":1,\"31\":1}}],[\"nl\",{\"1\":{\"19\":2}}],[\"number\",{\"1\":{\"10\":1,\"11\":1,\"12\":1}}],[\"null\",{\"1\":{\"8\":1,\"17\":1,\"18\":1,\"32\":1}}],[\"nodejs\",{\"1\":{\"35\":6}}],[\"normalize\",{\"1\":{\"17\":1,\"18\":1}}],[\"no\",{\"1\":{\"8\":1,\"17\":1,\"18\":1,\"19\":1,\"39\":1}}],[\"note\",{\"1\":{\"12\":1,\"16\":1,\"36\":1}}],[\"not\",{\"1\":{\"6\":1,\"16\":1,\"21\":1,\"26\":1,\"33\":1,\"35\":2,\"36\":1,\"38\":2,\"40\":1}}],[\"you\",{\"1\":{\"6\":2,\"8\":2,\"12\":1,\"22\":1,\"23\":1,\"26\":7,\"29\":2,\"30\":3,\"31\":2,\"32\":11,\"33\":1,\"35\":8,\"36\":2,\"37\":3,\"38\":4,\"39\":7}}],[\"your\",{\"1\":{\"6\":1,\"8\":1,\"32\":2,\"35\":2,\"38\":1,\"39\":7}}],[\"id\",{\"1\":{\"19\":2,\"22\":4,\"35\":2}}],[\"impact\",{\"1\":{\"16\":1}}],[\"importing\",{\"1\":{\"36\":1}}],[\"import\",{\"1\":{\"8\":2,\"21\":1,\"32\":4,\"33\":2,\"35\":6,\"36\":2,\"37\":3}}],[\"isn\",{\"1\":{\"32\":1}}],[\"is\",{\"1\":{\"16\":1,\"24\":1,\"26\":1,\"27\":1,\"32\":5,\"33\":1,\"35\":1,\"36\":2,\"38\":2,\"39\":4}}],[\"item\",{\"1\":{\"17\":1,\"18\":1,\"32\":4}}],[\"items\",{\"1\":{\"8\":1}}],[\"it\",{\"1\":{\"10\":1,\"11\":1,\"16\":1,\"32\":3,\"37\":1,\"39\":3}}],[\"if\",{\"1\":{\"6\":1,\"26\":2,\"29\":1,\"32\":2,\"35\":4,\"37\":1,\"38\":2,\"39\":3}}],[\"information\",{\"1\":{\"32\":1}}],[\"internally\",{\"1\":{\"21\":2}}],[\"interface\",{\"1\":{\"8\":1,\"9\":1,\"17\":1,\"18\":1,\"19\":2,\"21\":2,\"22\":6}}],[\"individually\",{\"1\":{\"32\":1}}],[\"indonesian\",{\"1\":{\"19\":1}}],[\"indexes\",{\"1\":{\"32\":1,\"38\":1}}],[\"indexed\",{\"1\":{\"6\":2,\"26\":3}}],[\"indexitem>\",{\"1\":{\"22\":3}}],[\"indexing\",{\"1\":{\"6\":1,\"24\":1,\"26\":1,\"35\":1}}],[\"indexlocaleoptions\",{\"0\":{\"18\":1},\"1\":{\"26\":1,\"35\":3}}],[\"indexoptions\",{\"0\":{\"17\":1},\"1\":{\"26\":1,\"35\":2}}],[\"index\",{\"0\":{\"26\":1,\"35\":1},\"1\":{\"6\":1,\"16\":1,\"17\":3,\"18\":3,\"22\":1,\"26\":3,\"32\":4,\"35\":1,\"38\":1,\"39\":4}}],[\"indexcontent\",{\"0\":{\"6\":1},\"1\":{\"26\":1,\"35\":2}}],[\"increases\",{\"1\":{\"16\":1,\"39\":1}}],[\"increase\",{\"1\":{\"12\":1}}],[\"input\",{\"1\":{\"9\":1,\"12\":2,\"26\":1}}],[\"in\",{\"0\":{\"38\":1},\"1\":{\"8\":1,\"14\":2,\"16\":3,\"17\":1,\"18\":1,\"19\":1,\"26\":3,\"28\":1,\"29\":1,\"32\":4,\"35\":2,\"36\":2,\"38\":6,\"39\":2}}],[\"install\",{\"0\":{\"2\":1}}],[\"fetch\",{\"1\":{\"39\":1}}],[\"features\",{\"1\":{\"39\":1}}],[\"feature\",{\"1\":{\"16\":1,\"38\":1}}],[\"fast\",{\"0\":{\"27\":1},\"1\":{\"27\":1}}],[\"false\",{\"1\":{\"6\":1,\"9\":4,\"17\":1,\"18\":1,\"26\":1,\"29\":1}}],[\"full\",{\"0\":{\"31\":1},\"1\":{\"24\":1}}],[\"function\",{\"1\":{\"13\":1,\"17\":2,\"18\":2,\"21\":2,\"32\":1,\"36\":1,\"37\":1}}],[\"free\",{\"1\":{\"39\":1}}],[\"french\",{\"1\":{\"19\":1}}],[\"fr\",{\"1\":{\"19\":2}}],[\"front\",{\"1\":{\"14\":2}}],[\"frontmatter\",{\"1\":{\"8\":3,\"26\":1,\"32\":6}}],[\"from\",{\"1\":{\"8\":2,\"21\":1,\"26\":1,\"32\":4,\"33\":2,\"35\":6,\"36\":2,\"37\":3,\"39\":1}}],[\"flag\",{\"1\":{\"16\":1}}],[\"fi\",{\"1\":{\"19\":2}}],[\"finnish\",{\"1\":{\"19\":1}}],[\"finish\",{\"1\":{\"12\":1}}],[\"file\",{\"1\":{\"36\":1,\"38\":1}}],[\"filename\",{\"1\":{\"15\":1}}],[\"filtering\",{\"1\":{\"36\":1}}],[\"filter\",{\"0\":{\"13\":1},\"1\":{\"13\":1,\"21\":3,\"26\":2}}],[\"fieldname\",{\"1\":{\"17\":1,\"18\":1,\"35\":4}}],[\"field\",{\"1\":{\"8\":1,\"17\":2,\"18\":2,\"32\":2}}],[\"fields\",{\"0\":{\"32\":1},\"1\":{\"6\":1,\"21\":1,\"26\":1}}],[\"found\",{\"1\":{\"40\":1}}],[\"follows\",{\"1\":{\"32\":1}}],[\"following\",{\"1\":{\"8\":2,\"32\":1}}],[\"format\",{\"1\":{\"32\":1}}],[\"formatter\",{\"1\":{\"8\":3,\"32\":5}}],[\"for\",{\"1\":{\"19\":1,\"23\":1,\"26\":1,\"32\":2,\"33\":2,\"36\":3,\"38\":3,\"39\":5}}],[\"focused\",{\"1\":{\"9\":1}}],[\"creating\",{\"1\":{\"39\":1}}],[\"createsearchworker\",{\"0\":{\"22\":1},\"1\":{\"22\":1,\"37\":3}}],[\"create\",{\"1\":{\"17\":1,\"18\":1,\"22\":1}}],[\"craw\",{\"1\":{\"39\":1}}],[\"crawler\",{\"1\":{\"39\":1}}],[\"cut\",{\"1\":{\"35\":4}}],[\"currently\",{\"1\":{\"38\":1}}],[\"current\",{\"1\":{\"22\":1}}],[\"customization\",{\"0\":{\"33\":1}}],[\"customize\",{\"0\":{\"35\":1,\"36\":1},\"1\":{\"21\":1,\"26\":2,\"31\":1,\"36\":1}}],[\"custommatcheditem\",{\"1\":{\"22\":2}}],[\"customfields\",{\"0\":{\"8\":1},\"1\":{\"8\":1,\"32\":4}}],[\"custom\",{\"0\":{\"32\":1},\"1\":{\"6\":1,\"8\":2,\"22\":1,\"24\":1,\"26\":1,\"32\":4}}],[\"changed\",{\"1\":{\"30\":1}}],[\"chinese\",{\"1\":{\"19\":2,\"26\":1,\"32\":1,\"35\":3}}],[\"choose\",{\"1\":{\"19\":1,\"30\":1,\"39\":2}}],[\"close\",{\"1\":{\"19\":1,\"31\":1}}],[\"client\",{\"0\":{\"20\":1},\"1\":{\"12\":1,\"21\":1,\"24\":1,\"26\":1,\"36\":3,\"37\":3,\"39\":1}}],[\"comparing\",{\"0\":{\"39\":1}}],[\"complete\",{\"1\":{\"33\":1}}],[\"complex\",{\"1\":{\"32\":1}}],[\"common\",{\"1\":{\"32\":1}}],[\"correct\",{\"1\":{\"26\":1,\"35\":1}}],[\"code\",{\"1\":{\"23\":1}}],[\"could\",{\"1\":{\"12\":1}}],[\"count\",{\"1\":{\"10\":1,\"11\":1}}],[\"contain\",{\"1\":{\"32\":1,\"35\":1}}],[\"contains\",{\"1\":{\"32\":1}}],[\"context\",{\"0\":{\"28\":1},\"1\":{\"28\":1}}],[\"contentmatcheditem\",{\"1\":{\"22\":2}}],[\"contents\",{\"1\":{\"12\":1,\"22\":1,\"38\":1}}],[\"content\",{\"1\":{\"6\":3,\"8\":2,\"16\":1,\"22\":2,\"26\":1,\"32\":1,\"35\":4,\"39\":1}}],[\"controlling\",{\"1\":{\"32\":1}}],[\"control\",{\"1\":{\"26\":1}}],[\"const\",{\"1\":{\"22\":1,\"37\":1}}],[\"configure\",{\"1\":{\"32\":1}}],[\"configuration\",{\"1\":{\"8\":1,\"19\":1,\"32\":2}}],[\"config\",{\"0\":{\"4\":1,\"20\":1},\"1\":{\"19\":1,\"26\":1,\"31\":1,\"33\":3,\"36\":1,\"38\":1}}],[\"ctrl\",{\"1\":{\"9\":3,\"31\":2}}],[\"ctrlkey`\",{\"1\":{\"9\":1}}],[\"cn\",{\"1\":{\"8\":1,\"19\":1,\"32\":1,\"35\":2}}],[\"calling\",{\"1\":{\"36\":1}}],[\"cases\",{\"1\":{\"32\":1,\"39\":1}}],[\"case\",{\"1\":{\"12\":1}}],[\"categories\",{\"1\":{\"8\":1,\"32\":1}}],[\"category\",{\"1\":{\"8\":3,\"32\":3}}],[\"caniuse\",{\"1\":{\"38\":1}}],[\"cannot\",{\"1\":{\"38\":1}}],[\"cancel\",{\"1\":{\"19\":2}}],[\"can\",{\"1\":{\"6\":1,\"8\":1,\"16\":1,\"21\":1,\"22\":1,\"24\":1,\"26\":1,\"30\":2,\"31\":2,\"32\":2,\"33\":1,\"35\":4,\"36\":1,\"38\":1,\"39\":1}}],[\"aware\",{\"1\":{\"39\":1}}],[\"available\",{\"1\":{\"38\":1}}],[\"advantages\",{\"1\":{\"39\":1}}],[\"advanced\",{\"0\":{\"34\":1}}],[\"additional\",{\"1\":{\"39\":1}}],[\"adding\",{\"1\":{\"32\":1,\"38\":1}}],[\"added\",{\"1\":{\"32\":1}}],[\"add\",{\"1\":{\"26\":1,\"32\":4,\"33\":1,\"39\":1}}],[\"actual\",{\"1\":{\"32\":1}}],[\"activate\",{\"1\":{\"31\":1}}],[\"accepts\",{\"1\":{\"32\":1}}],[\"apply\",{\"1\":{\"31\":1,\"39\":1}}],[\"api\",{\"0\":{\"37\":1},\"1\":{\"22\":1,\"37\":1,\"39\":1}}],[\"as\",{\"1\":{\"29\":1,\"32\":5,\"39\":1}}],[\"assume\",{\"1\":{\"8\":1,\"32\":1}}],[\"assuming\",{\"1\":{\"8\":1,\"32\":1}}],[\"authors\",{\"1\":{\"32\":1}}],[\"author\",{\"1\":{\"32\":7}}],[\"auto\",{\"0\":{\"29\":1},\"1\":{\"31\":1}}],[\"autocomplete\",{\"1\":{\"19\":2}}],[\"autosuggestions\",{\"0\":{\"7\":1},\"1\":{\"29\":1}}],[\"australia\",{\"1\":{\"19\":1}}],[\"a\",{\"1\":{\"16\":1,\"21\":2,\"22\":1,\"23\":1,\"24\":1,\"26\":1,\"32\":9,\"33\":1,\"35\":1,\"36\":1,\"38\":3,\"39\":6}}],[\"after\",{\"1\":{\"12\":1}}],[\"an\",{\"1\":{\"9\":1,\"32\":4,\"39\":2}}],[\"and\",{\"0\":{\"28\":1,\"30\":1},\"1\":{\"6\":2,\"8\":2,\"16\":1,\"22\":1,\"23\":1,\"24\":1,\"26\":2,\"28\":1,\"30\":2,\"31\":3,\"32\":7,\"35\":3,\"36\":3,\"37\":2,\"38\":1,\"39\":8}}],[\"at\",{\"1\":{\"9\":4,\"19\":1,\"30\":1}}],[\"algolia\",{\"1\":{\"39\":2}}],[\"all\",{\"1\":{\"22\":1,\"26\":1,\"35\":1,\"37\":2}}],[\"also\",{\"1\":{\"21\":1,\"26\":1,\"32\":2}}],[\"alt\",{\"1\":{\"9\":1}}],[\"altkey`\",{\"1\":{\"9\":1}}],[\"along\",{\"1\":{\"6\":1}}],[\"around\",{\"1\":{\"28\":1}}],[\"article\",{\"1\":{\"26\":1}}],[\"articles\",{\"1\":{\"8\":1,\"32\":1}}],[\"array\",{\"1\":{\"9\":1,\"32\":2}}],[\"are\",{\"1\":{\"8\":1,\"9\":1,\"14\":1,\"21\":1,\"26\":1,\"31\":1,\"32\":3,\"35\":2,\"38\":2,\"39\":2}}],[\"wait\",{\"1\":{\"39\":1}}],[\"warning\",{\"1\":{\"26\":1}}],[\"want\",{\"1\":{\"26\":2,\"32\":1,\"37\":1,\"38\":1}}],[\"words\",{\"1\":{\"29\":1,\"35\":2}}],[\"word\",{\"1\":{\"21\":1,\"22\":5,\"26\":2,\"35\":3}}],[\"worker\",{\"0\":{\"15\":1},\"1\":{\"15\":2,\"21\":1,\"22\":2,\"36\":1,\"37\":1,\"38\":3}}],[\"website\",{\"1\":{\"39\":3}}],[\"web\",{\"1\":{\"36\":1,\"39\":1}}],[\"well\",{\"1\":{\"32\":1}}],[\"we\",{\"1\":{\"8\":1,\"21\":1,\"23\":1,\"32\":1,\"36\":1,\"38\":2}}],[\"which\",{\"1\":{\"26\":1,\"30\":1,\"35\":1,\"39\":2}}],[\"while\",{\"1\":{\"7\":1}}],[\"where\",{\"1\":{\"31\":1,\"32\":1}}],[\"when\",{\"1\":{\"9\":1,\"14\":1,\"16\":1,\"26\":1,\"29\":1,\"37\":1}}],[\"whether\",{\"1\":{\"6\":1,\"7\":1,\"9\":4,\"16\":2,\"32\":1}}],[\"with\",{\"0\":{\"37\":1,\"39\":1},\"1\":{\"6\":1,\"12\":1,\"16\":1,\"27\":2,\"32\":1,\"35\":3,\"38\":1}}],[\"will\",{\"1\":{\"6\":2,\"8\":1,\"9\":1,\"14\":3,\"26\":1,\"29\":1,\"30\":1,\"32\":2,\"38\":1,\"39\":2}}],[\"put\",{\"1\":{\"32\":1}}],[\"particular\",{\"1\":{\"39\":1}}],[\"parts\",{\"1\":{\"32\":1}}],[\"parsed\",{\"1\":{\"39\":1}}],[\"parameter\",{\"1\":{\"32\":1}}],[\"param\",{\"1\":{\"22\":9}}],[\"path\",{\"1\":{\"22\":3}}],[\"pass\",{\"1\":{\"21\":1}}],[\"pagedata\",{\"1\":{\"21\":4}}],[\"pages\",{\"1\":{\"13\":1,\"26\":2}}],[\"page\",{\"1\":{\"6\":3,\"8\":6,\"13\":2,\"14\":2,\"26\":1,\"32\":10}}],[\"possible\",{\"1\":{\"39\":1}}],[\"powered\",{\"1\":{\"38\":1}}],[\"powerful\",{\"1\":{\"24\":1}}],[\"polish\",{\"1\":{\"19\":1}}],[\"portuguese\",{\"1\":{\"19\":1}}],[\"pt\",{\"1\":{\"19\":1}}],[\"per\",{\"1\":{\"18\":1,\"21\":1}}],[\"perform\",{\"1\":{\"26\":1,\"35\":2,\"39\":1}}],[\"performance\",{\"1\":{\"16\":1,\"38\":1,\"39\":1}}],[\"performing\",{\"1\":{\"12\":1,\"39\":1}}],[\"please\",{\"1\":{\"29\":1}}],[\"pl\",{\"1\":{\"19\":2}}],[\"placeholder\",{\"1\":{\"19\":2,\"33\":2}}],[\"placed\",{\"1\":{\"14\":2}}],[\"plugins\",{\"1\":{\"8\":1,\"32\":2,\"33\":1,\"35\":2}}],[\"plugin\",{\"0\":{\"5\":1},\"1\":{\"8\":1,\"19\":3,\"21\":1,\"23\":2,\"24\":2,\"26\":3,\"27\":1,\"28\":1,\"29\":1,\"30\":1,\"31\":1,\"32\":4,\"33\":2,\"35\":2,\"36\":1,\"37\":2,\"39\":2}}],[\"practical\",{\"1\":{\"32\":1}}],[\"prevent\",{\"1\":{\"26\":1}}],[\"preview\",{\"1\":{\"23\":1}}],[\"pressure\",{\"1\":{\"39\":1}}],[\"pressed\",{\"1\":{\"9\":1}}],[\"press\",{\"1\":{\"9\":4}}],[\"project\",{\"1\":{\"39\":1}}],[\"projects\",{\"1\":{\"39\":1}}],[\"proofreading\",{\"1\":{\"38\":1}}],[\"provided\",{\"1\":{\"39\":1}}],[\"provider\",{\"1\":{\"39\":1}}],[\"provide\",{\"1\":{\"23\":1,\"35\":1,\"36\":1,\"39\":3}}],[\"promise<searchresult\",{\"1\":{\"22\":1}}],[\"promise<string\",{\"1\":{\"21\":1,\"22\":1}}],[\"promise<queryresult>\",{\"1\":{\"22\":1}}],[\"pro`\",{\"1\":{\"19\":1}}],[\"processterm\",{\"1\":{\"17\":1,\"18\":1,\"21\":1}}],[\"process\",{\"1\":{\"17\":1,\"18\":1}}],[\"pro\",{\"1\":{\"8\":1,\"15\":1,\"21\":1,\"23\":1,\"24\":1,\"27\":1,\"32\":2,\"33\":1,\"35\":2,\"36\":1,\"37\":2}}],[\"easy\",{\"1\":{\"39\":1}}],[\"each\",{\"1\":{\"32\":3}}],[\"element\",{\"1\":{\"32\":1}}],[\"even\",{\"1\":{\"27\":1}}],[\"event\",{\"1\":{\"9\":1}}],[\"esc\",{\"1\":{\"31\":1}}],[\"es\",{\"1\":{\"19\":2}}],[\"editing\",{\"1\":{\"16\":1,\"38\":1}}],[\"emptyresult\",{\"1\":{\"19\":1}}],[\"emptyhistory\",{\"1\":{\"19\":1}}],[\"empty\",{\"1\":{\"9\":1,\"19\":2}}],[\"entire\",{\"1\":{\"39\":1}}],[\"enter\",{\"1\":{\"31\":1}}],[\"english\",{\"1\":{\"19\":1,\"32\":1}}],[\"ensure\",{\"1\":{\"12\":1}}],[\"en\",{\"1\":{\"8\":1,\"19\":1,\"32\":1,\"33\":1,\"35\":1}}],[\"enable\",{\"1\":{\"6\":1,\"16\":1,\"38\":1}}],[\"existing\",{\"1\":{\"33\":1}}],[\"exit\",{\"1\":{\"19\":1}}],[\"extra\",{\"1\":{\"32\":1}}],[\"extendspage\",{\"1\":{\"32\":1}}],[\"extends\",{\"1\":{\"21\":2}}],[\"experience\",{\"1\":{\"26\":1}}],[\"export\",{\"1\":{\"8\":1,\"21\":1,\"32\":2,\"33\":1,\"35\":2,\"36\":1}}],[\"example\",{\"1\":{\"8\":1,\"32\":2}}],[\"excerpt\",{\"1\":{\"6\":1,\"26\":1}}],[\"header\",{\"1\":{\"22\":1}}],[\"heading\",{\"1\":{\"22\":1}}],[\"headingmatcheditem\",{\"1\":{\"22\":2}}],[\"headings\",{\"1\":{\"6\":1,\"26\":1}}],[\"here\",{\"1\":{\"21\":1,\"32\":2,\"33\":1,\"36\":1}}],[\"has\",{\"1\":{\"39\":2}}],[\"handled\",{\"1\":{\"21\":1}}],[\"have\",{\"1\":{\"16\":1,\"35\":1}}],[\"having\",{\"1\":{\"14\":2}}],[\"highlights\",{\"1\":{\"28\":1}}],[\"highlighting\",{\"0\":{\"28\":1}}],[\"higher\",{\"1\":{\"14\":2}}],[\"hint\",{\"1\":{\"19\":7}}],[\"history\",{\"0\":{\"30\":1},\"1\":{\"10\":1,\"11\":1,\"19\":3}}],[\"huge\",{\"1\":{\"12\":1,\"16\":2}}],[\"host\",{\"1\":{\"39\":1}}],[\"hold\",{\"1\":{\"39\":1}}],[\"hotkey\",{\"1\":{\"31\":2}}],[\"hotkeys\",{\"0\":{\"9\":1},\"1\":{\"9\":3,\"31\":2}}],[\"hotreload\",{\"0\":{\"16\":1},\"1\":{\"38\":1}}],[\"hot\",{\"1\":{\"9\":1,\"16\":2,\"31\":1,\"38\":2}}],[\"however\",{\"1\":{\"38\":1}}],[\"how\",{\"0\":{\"1\":1},\"1\":{\"23\":1,\"32\":1}}],[\"home\",{\"0\":{\"0\":1}}],[\"own\",{\"1\":{\"35\":1,\"39\":1}}],[\"other\",{\"1\":{\"35\":1}}],[\"override\",{\"1\":{\"33\":1}}],[\"object\",{\"1\":{\"32\":2}}],[\"operation\",{\"1\":{\"32\":1}}],[\"open\",{\"1\":{\"31\":1,\"39\":4}}],[\"option\",{\"1\":{\"6\":1,\"26\":1,\"30\":1,\"31\":1,\"32\":1,\"33\":1,\"38\":1}}],[\"options\",{\"0\":{\"5\":1,\"36\":1},\"1\":{\"17\":1,\"18\":1,\"21\":4,\"22\":9,\"26\":3,\"33\":1,\"36\":3}}],[\"out\",{\"1\":{\"31\":1}}],[\"output\",{\"1\":{\"15\":1}}],[\"omit<\",{\"1\":{\"21\":1}}],[\"order\",{\"1\":{\"38\":1}}],[\"or\",{\"1\":{\"17\":1,\"18\":1,\"26\":1,\"31\":1,\"32\":2,\"33\":1,\"35\":1,\"38\":1,\"39\":2}}],[\"ones\",{\"1\":{\"33\":1}}],[\"on\",{\"1\":{\"16\":1,\"27\":1,\"39\":4}}],[\"only\",{\"1\":{\"6\":1,\"26\":2,\"35\":1}}],[\"of\",{\"1\":{\"6\":3,\"8\":1,\"9\":2,\"16\":1,\"19\":1,\"26\":1,\"31\":1,\"32\":2}}],[\"blog\",{\"1\":{\"39\":1}}],[\"bandwidth\",{\"1\":{\"39\":1}}],[\"backend\",{\"1\":{\"39\":1}}],[\"based\",{\"1\":{\"26\":1,\"39\":1}}],[\"bundle\",{\"1\":{\"38\":1,\"39\":1}}],[\"build\",{\"1\":{\"39\":1}}],[\"building\",{\"1\":{\"35\":1,\"39\":1}}],[\"built\",{\"1\":{\"19\":1,\"35\":1}}],[\"but\",{\"1\":{\"32\":1,\"35\":1,\"39\":1}}],[\"bring\",{\"1\":{\"39\":1}}],[\"browser\",{\"1\":{\"38\":1}}],[\"br\",{\"1\":{\"19\":1}}],[\"brazil\",{\"1\":{\"19\":1}}],[\"both\",{\"1\":{\"22\":1,\"37\":1}}],[\"boostdocument\",{\"1\":{\"21\":1}}],[\"boolean\",{\"1\":{\"6\":1,\"7\":1,\"9\":4,\"13\":1,\"16\":1}}],[\"box\",{\"1\":{\"9\":1,\"19\":1,\"29\":1,\"31\":3}}],[\"behavior\",{\"1\":{\"29\":1,\"30\":1}}],[\"being\",{\"1\":{\"26\":1}}],[\"better\",{\"1\":{\"23\":1,\"26\":1,\"38\":1}}],[\"because\",{\"1\":{\"16\":1,\"39\":1}}],[\"before\",{\"1\":{\"12\":1,\"39\":1}}],[\"be\",{\"1\":{\"6\":2,\"8\":1,\"9\":1,\"12\":1,\"14\":3,\"26\":1,\"30\":1,\"32\":1,\"39\":4}}],[\"by\",{\"1\":{\"6\":1,\"8\":2,\"14\":1,\"16\":1,\"26\":1,\"29\":1,\"30\":2,\"31\":1,\"32\":2,\"36\":1,\"38\":2,\"39\":1}}],[\"takes\",{\"1\":{\"32\":1}}],[\"tab\",{\"1\":{\"31\":1}}],[\"tags\",{\"1\":{\"8\":2,\"32\":1}}],[\"tag\",{\"1\":{\"8\":3,\"22\":1,\"32\":3}}],[\"t\",{\"1\":{\"29\":1,\"32\":1,\"37\":1}}],[\"turkish\",{\"1\":{\"19\":1}}],[\"tw\",{\"1\":{\"19\":1}}],[\"technical\",{\"1\":{\"39\":1}}],[\"terminate\",{\"1\":{\"22\":2,\"37\":3}}],[\"term\",{\"1\":{\"17\":1,\"18\":1}}],[\"terms\",{\"1\":{\"17\":1,\"18\":1,\"39\":1}}],[\"text\",{\"1\":{\"17\":1,\"18\":1,\"19\":3,\"24\":1,\"35\":6}}],[\"titlematcheditem\",{\"1\":{\"22\":2}}],[\"title\",{\"1\":{\"19\":3,\"22\":2}}],[\"time\",{\"1\":{\"9\":4,\"16\":1,\"32\":1,\"39\":1}}],[\"tips\",{\"1\":{\"6\":1}}],[\"traffic\",{\"1\":{\"39\":1}}],[\"traditional\",{\"1\":{\"19\":1}}],[\"try\",{\"1\":{\"38\":1}}],[\"tr\",{\"1\":{\"19\":2}}],[\"trigger\",{\"1\":{\"9\":1,\"38\":1}}],[\"true\",{\"1\":{\"6\":1,\"7\":1,\"9\":2,\"13\":1,\"26\":1,\"35\":4,\"38\":1}}],[\"than\",{\"1\":{\"39\":1}}],[\"that\",{\"1\":{\"14\":2,\"22\":1,\"24\":1,\"26\":1,\"39\":1}}],[\"through\",{\"1\":{\"22\":1,\"26\":1,\"31\":1,\"32\":1,\"33\":1}}],[\"this\",{\"1\":{\"6\":1,\"12\":2,\"16\":1,\"29\":1,\"30\":1,\"32\":2,\"33\":2,\"35\":1,\"38\":1,\"39\":2}}],[\"then\",{\"1\":{\"37\":3}}],[\"them\",{\"1\":{\"28\":1,\"30\":1,\"32\":1}}],[\"theme\",{\"1\":{\"8\":1,\"23\":1,\"32\":1}}],[\"these\",{\"1\":{\"21\":3,\"32\":2}}],[\"there\",{\"1\":{\"14\":1}}],[\"the\",{\"1\":{\"6\":5,\"8\":3,\"9\":8,\"14\":2,\"16\":3,\"17\":2,\"18\":2,\"19\":1,\"23\":1,\"26\":5,\"28\":1,\"29\":2,\"30\":1,\"31\":6,\"32\":13,\"33\":1,\"35\":3,\"37\":3,\"38\":3,\"39\":7}}],[\"typed\",{\"1\":{\"36\":1}}],[\"type\",{\"1\":{\"6\":1,\"7\":1,\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"16\":1,\"17\":1,\"18\":1,\"19\":1,\"22\":6,\"29\":1,\"30\":1,\"38\":1}}],[\"tool\",{\"1\":{\"39\":1}}],[\"tolocalestring\",{\"1\":{\"32\":1}}],[\"tokenize\",{\"1\":{\"17\":2,\"18\":2,\"21\":1,\"35\":5}}],[\"totally\",{\"1\":{\"39\":1}}],[\"total\",{\"1\":{\"14\":3}}],[\"to\",{\"0\":{\"1\":1},\"1\":{\"6\":3,\"7\":1,\"8\":1,\"9\":7,\"10\":1,\"11\":1,\"12\":3,\"13\":1,\"16\":2,\"17\":3,\"18\":3,\"21\":3,\"23\":2,\"26\":6,\"31\":5,\"32\":10,\"35\":2,\"37\":2,\"38\":2,\"39\":11}}]],\"serializationVersion\":2},\"/zh/\":{\"documentCount\":42,\"nextId\":42,\"documentIds\":{\"0\":\"4\",\"1\":\"4#使用插件\",\"2\":\"4#安装\",\"3\":\"4#使用\",\"4\":\"5\",\"5\":\"5#插件选项\",\"6\":\"5#indexcontent\",\"7\":\"5#autosuggestions\",\"8\":\"5#customfields\",\"9\":\"5#hotkeys\",\"10\":\"5#queryhistorycount\",\"11\":\"5#resulthistorycount\",\"12\":\"5#searchdelay\",\"13\":\"5#filter\",\"14\":\"5#sortstrategy\",\"15\":\"5#worker\",\"16\":\"5#hotreload\",\"17\":\"5#indexoptions\",\"18\":\"5#indexlocaleoptions\",\"19\":\"5#locales\",\"20\":\"5#客户端配置\",\"21\":\"5#definesearchconfig\",\"22\":\"5#createsearchworker\",\"23\":\"6\",\"24\":\"7\",\"25\":\"7#快速上手\",\"26\":\"7#索引范围\",\"27\":\"7#极致速度\",\"28\":\"7#高亮与上下文\",\"29\":\"7#自动搜索建议\",\"30\":\"7#查询和搜索的历史记录\",\"31\":\"7#完整键盘支持\",\"32\":\"7#自定义索引\",\"33\":\"7#搜索快捷键\",\"34\":\"7#热更新\",\"35\":\"7#多语言配置\",\"36\":\"7#高级\",\"37\":\"7#自定义索引生成\",\"38\":\"7#自定义搜索选项\",\"39\":\"7#通过-api-使用\",\"40\":\"7#开发服务器中的限制\",\"41\":\"7#与服务端搜索比较\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[1],\"1\":[2],\"2\":[1],\"3\":[1],\"4\":[1],\"5\":[2],\"6\":[1,38],\"7\":[1,13],\"8\":[1,97],\"9\":[1,59],\"10\":[1,23],\"11\":[1,22],\"12\":[1,39],\"13\":[1,19],\"14\":[1,32],\"15\":[1,16],\"16\":[1,54],\"17\":[1,47],\"18\":[1,51],\"19\":[1,61],\"20\":[2],\"21\":[1,86],\"22\":[1,78],\"23\":[1,30],\"24\":[1,25],\"25\":[2],\"26\":[2,86],\"27\":[2,22],\"28\":[3,13],\"29\":[3,28],\"30\":[5,30],\"31\":[3,48],\"32\":[2,180],\"33\":[2,24],\"34\":[2,26],\"35\":[3,64],\"36\":[1],\"37\":[3,117],\"38\":[3,69],\"39\":[4,57],\"40\":[5,78],\"41\":[4,134]},\"averageFieldLength\":[1.8333333333333333,44.41455291005292],\"storedFields\":{\"0\":{\"h\":\"主页\"},\"1\":{\"h\":\"使用插件\"},\"2\":{\"h\":\"安装\"},\"3\":{\"h\":\"使用\"},\"4\":{\"h\":\"配置\"},\"5\":{\"h\":\"插件选项\"},\"6\":{\"h\":\"indexContent\",\"t\":[\"类型: boolean\",\"默认值: false\",\"是否索引内容。\",\"提示\",\"默认情况下,插件只会索引页面的标题和摘要以及你的自定义索引项,不会索引页面的正文内容。如果需要索引页面的正文内容,可以将该选项设置为 true。\"]},\"7\":{\"h\":\"autoSuggestions\",\"t\":[\"类型: boolean\",\"默认值: false\",\"是否自动提示搜索建议。\"]},\"8\":{\"h\":\"customFields\",\"t\":[\"类型: SearchProCustomFieldOptions[]\",\"interface SearchProCustomFieldOptions { /** * 自定义项目的获取器 */ getter: (page: Page) => string[] | string | null | undefined; /** * 展示的内容 * * @description `$content` 会被 `getter` 返回的内容替换 * * @default `$content` */ formatter?: string | Record<string, string>; }\",\"必填: 否\",\"自定义搜索项目。\",\"例子\",\"假如你的主题在 Frontmatter 中使用 category 和 tag 标记文章的分类和标签,你可以使用以下配置:\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ // 我们假定你在使用如下多语言 locales: { \\\"/\\\": { lang: \\\"en-US\\\", }, \\\"/zh/\\\": { lang: \\\"zh-CN\\\", }, }, plugins: [ searchProPlugin({ customFields: [ { getter: (page) => page.frontmatter.category, formatter: { \\\"/\\\": \\\"Category: $content\\\", \\\"/zh/\\\": \\\"分类:$content\\\", }, }, { getter: (page) => page.frontmatter.tag, formatter: { \\\"/\\\": \\\"Tag: $content\\\", \\\"/zh/\\\": \\\"标签:$content\\\", }, }, ], }), ], });\"]},\"9\":{\"h\":\"hotKeys\",\"t\":[\"类型: SearchProHotKeyOptions[]\",\"interface SearchProHotKeyOptions { /** * 热键的 `event.key` 值 */ key: string; /** * 是否同时按下 `event.altKey` * * @default false */ alt?: boolean; /** * 是否同时按下 `event.ctrlKey` * * @default false */ ctrl?: boolean; /** * 是否同时按下 `event.shiftKey` * * @default false */ shift?: boolean; /** * 是否同时按下 `event.metaKey` * * @default false */ meta?: boolean; }\",\"默认值: [{ key: \\\"k\\\", ctrl: true }, { key: \\\"/\\\", ctrl: true }]\",\"指定热键的 event.key。\",\"当热键被按下时,搜索框的输入框会被聚焦,设置为空数组以禁用热键。\"]},\"10\":{\"h\":\"queryHistoryCount\",\"t\":[\"类型: number\",\"默认值: 5\",\"存储搜索查询词历史的最大数量,可以设置为 0 以禁用。\"]},\"11\":{\"h\":\"resultHistoryCount\",\"t\":[\"类型: number\",\"默认值: 5\",\"存储搜索结果历史的最大数量,可以设置为 0 以禁用。\"]},\"12\":{\"h\":\"searchDelay\",\"t\":[\"类型: number\",\"默认值: 150\",\"结束输入到开始搜索的延时\",\"注\",\"有大量内容时,进行客户端搜索可能会很慢,在这种情况下你可能需要增加此值来确保开始搜索时用户已完成输入。\"]},\"13\":{\"h\":\"filter\",\"t\":[\"类型: (page: Page) => boolean\",\"默认值: () => true\",\"用于过滤页面的函数。\"]},\"14\":{\"h\":\"sortStrategy\",\"t\":[\"类型: \\\"max\\\" | \\\"total\\\"\",\"默认值: \\\"max\\\"\",\"结果排序策略\",\"当有多个匹配的结果时,会按照策略对结果进行排序。max 表示最高分更高的页面会排在前面。total 表示总分更高的页面会排在前面。\"]},\"15\":{\"h\":\"worker\",\"t\":[\"类型: string\",\"默认值: search-pro.worker.js\",\"输出的 Worker 文件名称\"]},\"16\":{\"h\":\"hotReload\",\"t\":[\"类型: boolean\",\"默认值: 是否使用 --debug 标记\",\"是否在开发服务器中启用实时热重载。\",\"注\",\"它是默认禁用的,因为此功能会对内容巨大的站点产生极大性能影响,并且在编辑 Markdown 时剧烈增加热重载的速度。\",\"通常情况下,在开发中,用户并不需要实时更新索引数据库。\"]},\"17\":{\"h\":\"indexOptions\",\"t\":[\"类型: SearchProIndexOptions\",\"interface SearchProIndexOptions { /** * 用于对索引字段项进行分词的函数。 */ tokenize?: (text: string, fieldName?: string) => string[]; /** * 用于处理或规范索引字段中的术语的函数。 */ processTerm?: ( term: string, ) => string | string[] | null | undefined | false; }\",\"必填: 否\",\"创建索引选项。\"]},\"18\":{\"h\":\"indexLocaleOptions\",\"t\":[\"类型: Record<string, SearchProIndexOptions>\",\"interface SearchProIndexOptions { /** * 用于对索引字段项进行分词的函数。 */ tokenize?: (text: string, fieldName?: string) => string[]; /** * 用于处理或规范索引字段中的术语的函数。 */ processTerm?: ( term: string, ) => string | string[] | null | undefined | false; }\",\"必填: 否\",\"分语言的创建索引选项。\"]},\"19\":{\"h\":\"locales\",\"t\":[\"类型: SearchProLocaleConfig\",\"/** * `vuepress-plugin-search-pro` 插件的多语言配置 */ interface SearchProLocaleData { /** * 搜索框占位符文字 */ placeholder: string; /** * 搜索文字 */ search: string; /** * 搜索中文字 */ searching: string; /** * 取消文字 */ cancel: string; /** * 默认标题 */ defaultTitle: string; /** * 选择提示 */ select: string; /** * 选择提示 */ navigate: string; /** * 自动补全提示 */ autocomplete: string; /** * 关闭提示 */ exit: string; /** * 加载提示 */ loading: string; /** * 搜索文字历史 标题 */ queryHistory: string; /** * 搜索结果历史 标题 */ resultHistory: string; /** * 无搜索历史提示 */ emptyHistory: string; /** * 无结果提示 */ emptyResult: string; } interface SearchProLocaleConfig { [localePath: string]: SearchProLocaleData; }\",\"必填: 否\",\"搜索插件的多语言配置。\"]},\"20\":{\"h\":\"客户端配置\"},\"21\":{\"h\":\"defineSearchConfig\",\"t\":[\"自定义 搜索选项。\",\"我们还额外支持以下选项:\",\"interface SearchLocaleOptions extends Omit< SearchOptions, // These are handled internally | \\\"fields\\\" // These can not pass to worker | \\\"filter\\\" | \\\"boostDocument\\\" | \\\"tokenize\\\" | \\\"processTerm\\\" > { /** 一个过滤建议的函数 */ suggestionsFilter?: ( suggestions: string[], query: string, locale: string, pageData: PageData, ) => string[]; /** 一个过滤搜索结果的函数 */ searchFilter?: ( results: SearchResult[], query: string, locale: string, pageData: PageData, ) => SearchResult[]; /** 分词器 */ splitWord?: (query: string) => Promise<string[]>; } interface SearchOptions extends SearchLocaleOptions { /** 基于每个语言来设置选项 */ locales?: Record<string, SearchLocaleOptions>; }\",\"import { defineSearchConfig } from \\\"vuepress-plugin-search-pro/client\\\"; defineSearchConfig({ // 此处放置搜索选项 }); export default {};\"]},\"22\":{\"h\":\"createSearchWorker\",\"t\":[\"创建一个搜索 Worker 以便你可以通过 API 搜索。\",\"type Word = [tag: string, content: string] | string; interface TitleMatchedItem { type: \\\"title\\\"; id: string; display: Word[]; } interface HeadingMatchedItem { type: \\\"heading\\\"; id: string; display: Word[]; } interface CustomMatchedItem { type: \\\"custom\\\"; id: string; index: string; display: Word[]; } interface ContentMatchedItem { type: \\\"content\\\"; id: string; header: string; display: Word[]; } type MatchedItem = | TitleMatchedItem | HeadingMatchedItem | ContentMatchedItem | CustomMatchedItem; interface SearchResult { title: string; contents: MatchedItem[]; } interface SearchWorker { /** * 同时获取建议和结果 * * @param query - 搜索词 * @param localePath - 语言路径 * @param options - 搜索选项 */ all: ( query: string, localePath?: string, options?: SearchOptions<string, IndexItem>, ) => Promise<QueryResult>; /** * 获取建议 * * @param query - 搜索词 * @param localePath - 语言路径 * @param options - 搜索选项 */ suggest: ( query: string, localePath?: string, options?: SearchOptions<string, IndexItem>, ) => Promise<string[]>; /** * 获取搜索结果 * * @param query - 搜索词 * @param localePath - 语言路径 * @param options - 搜索选项 */ search: ( query: string, localePath?: string, options?: SearchOptions<string, IndexItem>, ) => Promise<SearchResult[]>; /** * 终止当前 worker */ terminate: () => void; } const createSearchWorker: () => SearchWorker;\"]},\"23\":{\"h\":\"演示\",\"t\":[\"为了让你更好的了解如何使用插件,我们使用 vuepress-plugin-search-pro 和 @vuepress/theme-default 制作了一个案例。\",\"源代码\",\"预览\"]},\"24\":{\"h\":\"指南\",\"t\":[\"vuepress-plugin-search-pro 是一个强大的客户端搜索插件,可以为你的站点添加自定义索引与全文搜索功能。\"]},\"25\":{\"h\":\"快速上手\"},\"26\":{\"h\":\"索引范围\",\"t\":[\"默认情况下,插件仅索引标题,文章摘要和你添加的自定义字段。如果你想要索引文章的全部内容,你可以通过设置 indexContent: true 来开启。\",\"如果你只想要部分页面被索引,你可以在插件选项中设置 filter 选项来控制索引范围,参见 配置 → filter。你也可以在 Frontmatter 中设置 search: false 来阻止页面被索引。\",\"注意\",\"当索引不基于单词的语言时,例如中文、日语或韩语,你需要设置 indexOptions 和 indexLocaleOptions 以执行正确的分词,详见自定义索引生成。\",\"同时为了更好的客户端搜索体验,你应该通过 defineSearchConfig 来自定义 splitWord 选项以对输入查询内容进行分词。\"]},\"27\":{\"h\":\"极致速度\",\"t\":[\"通过 slimsearch,vuepress-plugin-search-pro 的搜索速度极快,即使在大型站点上也是如此。\"]},\"28\":{\"h\":\"高亮与上下文\",\"t\":[\"插件会高亮搜索结果中的关键词,并显示关键词周围的上下文。\"]},\"29\":{\"h\":\"自动搜索建议\",\"t\":[\"插件会默认在搜索框输入时自动提示相关词作为搜索建议,如果你不需要这一行为,请设置 autoSuggestions: false。\"]},\"30\":{\"h\":\"查询和搜索的历史记录\",\"t\":[\"插件将显示你最后输入的 5 个查询和你选择的最后 5 个搜索结果。此行为可以通过设置 queryHistoryCount 和 resultHistoryCount 选项来改变。你可以将它们设置为 0 来禁用它们。\"]},\"31\":{\"h\":\"完整键盘支持\",\"t\":[\"插件支持键盘导航,你可以:\",\"使用快捷键激活搜索框\",\"使用 ↑ 和 ↓ 导航搜索结果和自动建议\",\"使用 Tab 应用建议\",\"使用 Enter 打开选中的结果\",\"使用 Esc 关闭建议列表或搜索框\",\"默认情况下,搜索快捷键为 Ctrl + K 和 Ctrl + /。你可以通过 hotkeys 选项来自定义搜索快捷键,参见 配置 → 快捷键。\"]},\"32\":{\"h\":\"自定义索引\",\"t\":[\"无论是主题开发者还是用户,在 Frontmatter 中或者通过 extendsPage 生命周期为页面添加额外数据是一个常见的操作。很多情况下,你可能希望把这些数据也编入索引,所以我们提供了 customFields 选项。\",\"customFields 接受一个数组,其中每一项代表一项自定义搜索索引的配置项。每一个配置项包含两个部分:\",\"getter: 该自定义项目的获取器。此函数需要接受 page 对象作为参数,并以字符串 (单个)、字符串数组 (多个)、null (该项目缺失) 的形式返回该自定义项目的值。\",\"formatter: 一个字符串控制项目该如何在自定义搜索结果中显示,其中 $content 会替换成 getter 返回的项目值。如果你在使用多语言,你还可以将其设置为对象,以分别设置每一个语言的显示格式。\",\"难以理解么?那我们来提供一个简单的例子。\",\"在索引中添加作者\",\"假定你在 Frontmatter 中通过 author 添加作者:\",\"--- author: Your name --- Markdown content...\",\"你可以通过如下配置将作者添加到索引中:\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ plugins: [ searchProPlugin({ customFields: [ { name: \\\"author\\\", getter: (page) => page.frontmatter.author, formatter: \\\"作者:$content\\\", }, ], }), ], });\",\"很简单不是么?\",\"一个更加复杂但实际的例子\",\"假设你在使用 @vuepress/plugin-git 插件,并且你在 Frontmatter 中通过 category 和 tag 为文章添加分类和标签。\",\"如果你还在 /zh/ 和 / 下分别放置了中文和英文,你需要进行如下配置:\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ // 我们假定你在使用如下多语言 locales: { \\\"/\\\": { lang: \\\"en-US\\\", }, \\\"/zh/\\\": { lang: \\\"zh-CN\\\", }, }, plugins: [ searchProPlugin({ customFields: [ { getter: (page) => page.frontmatter.category, formatter: { \\\"/\\\": \\\"Category: $content\\\", \\\"/zh/\\\": \\\"分类:$content\\\", }, }, { getter: (page) => page.frontmatter.tag, formatter: { \\\"/\\\": \\\"Tag: $content\\\", \\\"/zh/\\\": \\\"标签:$content\\\", }, }, { name: \\\"updateTime\\\", getter: (page) => page.data.git?.updateTime.toLocaleString(), formatter: { \\\"/\\\": \\\"Update time: $content\\\", \\\"/zh/\\\": \\\"更新时间:$content\\\", }, }, ], }), ], });\"]},\"33\":{\"h\":\"搜索快捷键\",\"t\":[\"默认情况下,搜索快捷键为 Ctrl + K 和 Ctrl + /。你可以通过 hotkeys 选项来自定义搜索快捷键,参见 配置 → 快捷键。\"]},\"34\":{\"h\":\"热更新\",\"t\":[\"如果你正在校对或完善你的搜索结果,你可以通过设置 hotReload: true 选项来开启热更新,参见 配置 → 热更新。\"]},\"35\":{\"h\":\"多语言配置\",\"t\":[\"你可以通过 locales 来新增特定语言的多语言配置或修改已支持语言的配置。\",\"import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ locales: { \\\"/\\\": { // 这是一个支持的语言 lang: \\\"zh-CN\\\", }, \\\"/xx/\\\": { // 这是一个没有收到插件支持的语言 lang: \\\"mm-NN\\\", }, }, plugins: [ searchProPlugin({ locales: { \\\"/\\\": { // 覆盖 placeholder placeholder: \\\"开始搜索\\\", }, \\\"/xx/\\\": { // 在这里完整设置 `mm-NN` 的多语言配置 }, }, }), ], });\",\"具体的选项详见 配置 → 多语言配置。\"]},\"36\":{\"h\":\"高级\"},\"37\":{\"h\":\"自定义索引生成\",\"t\":[\"如果你正在索引其他不使用“单词”的语言,如中文、日语或韩语,你应该设置 indexOptions 和 indexLocaleOptions 以执行正确的分词。\",\"如果你正在构建中文文档,则可以使用 nodejs-jieba 进行分词。 (日语和韩语没有内置词典,但你可以提供自己的词典,并使用 nodejs-jieba 拆分单词)。\",\"如果你的文档只包含中文,你可以像这样对内容进行标记:\",\"import { cut } from \\\"nodejs-jieba\\\"; import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ lang: \\\"zh-CN\\\", plugins: [ searchProPlugin({ // 索引全部内容 indexContent: true, indexOptions: { // 使用 nodejs-jieba 进行分词 tokenize: (text, fieldName) => fieldName === \\\"id\\\" ? [text] : cut(text, true), }, }), ], });\",\"如果你需要在某些语言环境中进行分词,你可以设置 indexLocaleOptions:\",\"import { cut } from \\\"nodejs-jieba\\\"; import { defineUserConfig } from \\\"vuepress\\\"; import { searchProPlugin } from \\\"vuepress-plugin-search-pro\\\"; export default defineUserConfig({ locales: { \\\"/\\\": { lang: \\\"en-US\\\", }, \\\"/zh/\\\": { lang: \\\"zh-CN\\\", }, }, plugins: [ searchProPlugin({ indexContent: true, indexLocaleOptions: { \\\"/zh/\\\": { // 使用 nodejs-jieba 进行分词 tokenize: (text, fieldName) => fieldName === \\\"id\\\" ? [text] : cut(text, true), }, }, }), ], });\",\"提示\",\"特别提示,我们没有办法在浏览器中使用分词功能,所以任何不基于单词的语言(如中文)的长文本搜索结果会明显表现不佳。\"]},\"38\":{\"h\":\"自定义搜索选项\",\"t\":[\"你可以在客户端配置文件 中导入和调用 defineSearchConfig 来自定义搜索选项:\",\"import { defineClientConfig } from \\\"vuepress/client\\\"; import { defineSearchConfig } from \\\"vuepress-plugin-search-pro/client\\\"; defineSearchConfig({ // 此处放置搜索选项 }); export default defineClientConfig({ // ... });\",\"注\",\"由于搜索是在 Web Worker 中完成的,因此不支持 slimsearch 中需要被设置为函数的选项。\",\"为了提供建议和结果的过滤,我们额外提供了 suggestFilter 和 searchFilter 选项。你可以在这里设置一个函数来过滤建议和搜索结果。\"]},\"39\":{\"h\":\"通过 API 使用\",\"t\":[\"如果你想要使用 API 来搜索,你可以从 vuepress-plugin-search-pro/client 中导入 createSearchWorker 来获取搜索结果:\",\"import { createSearchWorker } from \\\"vuepress-plugin-search-pro/client\\\"; const { all, suggest, search, terminate } = createSearchWorker(); // 自动建议 suggest(\\\"key\\\").then((suggestions) => { // 显示建议 }); // 搜索 search(\\\"keyword\\\").then((results) => { // 显示搜索结果 }); // 同时返回建议和搜索结果 all(\\\"key\\\").then(({ suggestions, results }) => { // 显示建议和搜索结果 }); // 当不需要时终止 Worker terminate();\"]},\"40\":{\"h\":\"开发服务器中的限制\",\"t\":[\"搜索服务由 Worker 提供支持,在开发模式下我们无法捆绑 Worker 文件。\",\"为了在开发模式下加载搜索索引,我们使用了带有 type: \\\"module\\\" 的现代 Worker,但是目前 Safari 不支持此功能。 因此,如果你想尝试在 devServer 中搜索,你应该使用支持的浏览器,请参阅 CanIUse 了解支持详情。\",\"为了更好的性能,在开发模式下添加/编辑/删除 Markdown 内容不会触发搜索索引的更新。如果你正在校对或优化你的搜索结果,你可以通过设置 hotReload: true 选项来启用热重载,参见 配置 → 热重载。\"]},\"41\":{\"h\":\"与服务端搜索比较\",\"t\":[\"客户端搜索有优点,比如没有后台服务,容易添加,但你应该知道它也有缺点。\",\"缺点\",\"你需要在构建阶段为你的网站建立索引,这会增长网站部署时间与网站的构建体积。\",\"用户在搜索前需要从你的服务器拉取整个索引,会为你的网站服务器带来额外的流量与带宽压力。这通常比在服务端搜索下执行一个网络请求获得结果要慢得多。\",\"为了进行一次搜索,用户必须等待搜索索引下载并在本地解析完毕。这会为用户消耗不必要的流量、同时增加客户端耗电。\",\"由于搜索是在用户设备上执行的,速度完全取决于设备性能。\",\"在大多数情况,如果你在构建一个大型站点,你应该选择服务提供商为你的站点提供搜索服务,例如 Algolia,或者选择开源工具在自己的服务器上加载搜索服务并定期为自己的网站生成索引。对于大型站点这很必要因为用户通过网络请求向搜索 API 发送搜索字词,并直接得到搜索结果。\",\"特别提示,DocSearch 是 Algolia 为开源项目提供的免费搜索服务。如果你在创建开源项目文档或开源技术博客,你可 申请它,并使用 @vuepress/plugin-docsearch 插件提供搜索。\"]}},\"dirtCount\":0,\"index\":[[\"申请\",{\"1\":{\"41\":1}}],[\"博客\",{\"1\":{\"41\":1}}],[\"技术\",{\"1\":{\"41\":1}}],[\"免费\",{\"1\":{\"41\":1}}],[\"直接\",{\"1\":{\"41\":1}}],[\"发送\",{\"1\":{\"41\":1}}],[\"向搜索\",{\"1\":{\"41\":1}}],[\"定期\",{\"1\":{\"41\":1}}],[\"定义\",{\"1\":{\"26\":1,\"31\":1,\"33\":1,\"38\":1}}],[\"工具\",{\"1\":{\"41\":1}}],[\"取决于\",{\"1\":{\"41\":1}}],[\"取消\",{\"1\":{\"19\":1}}],[\"设备\",{\"1\":{\"41\":2}}],[\"设置\",{\"1\":{\"6\":1,\"9\":1,\"10\":1,\"11\":1,\"21\":1,\"26\":4,\"29\":1,\"30\":2,\"32\":2,\"34\":1,\"35\":1,\"37\":2,\"38\":2,\"40\":1}}],[\"耗电\",{\"1\":{\"41\":1}}],[\"消耗\",{\"1\":{\"41\":1}}],[\"解析\",{\"1\":{\"41\":1}}],[\"本地\",{\"1\":{\"41\":1}}],[\"等待\",{\"1\":{\"41\":1}}],[\"必要\",{\"1\":{\"41\":1}}],[\"必须\",{\"1\":{\"41\":1}}],[\"必填\",{\"1\":{\"8\":1,\"17\":1,\"18\":1,\"19\":1}}],[\"得到\",{\"1\":{\"41\":1}}],[\"得\",{\"1\":{\"41\":1}}],[\"要慢\",{\"1\":{\"41\":1}}],[\"获得\",{\"1\":{\"41\":1}}],[\"获取\",{\"1\":{\"8\":1,\"22\":3,\"32\":1,\"39\":1}}],[\"网络\",{\"1\":{\"41\":2}}],[\"网站\",{\"1\":{\"41\":5}}],[\"压力\",{\"1\":{\"41\":1}}],[\"流量\",{\"1\":{\"41\":2}}],[\"带宽\",{\"1\":{\"41\":1}}],[\"带来\",{\"1\":{\"41\":1}}],[\"带有\",{\"1\":{\"40\":1}}],[\"整个\",{\"1\":{\"41\":1}}],[\"拉取\",{\"1\":{\"41\":1}}],[\"前\",{\"1\":{\"41\":1}}],[\"前面\",{\"1\":{\"14\":2}}],[\"体积\",{\"1\":{\"41\":1}}],[\"体验\",{\"1\":{\"26\":1}}],[\"部署\",{\"1\":{\"41\":1}}],[\"部分\",{\"1\":{\"26\":1,\"32\":1}}],[\"增长\",{\"1\":{\"41\":1}}],[\"增加\",{\"1\":{\"12\":1,\"16\":1,\"41\":1}}],[\"建立\",{\"1\":{\"41\":1}}],[\"建议\",{\"0\":{\"29\":1},\"1\":{\"7\":1,\"21\":1,\"22\":2,\"29\":1,\"31\":3,\"38\":2,\"39\":4}}],[\"阶段\",{\"1\":{\"41\":1}}],[\"缺点\",{\"1\":{\"41\":2}}],[\"缺失\",{\"1\":{\"32\":1}}],[\"知道\",{\"1\":{\"41\":1}}],[\"容易\",{\"1\":{\"41\":1}}],[\"后台\",{\"1\":{\"41\":1}}],[\"比\",{\"1\":{\"41\":1}}],[\"比如\",{\"1\":{\"41\":1}}],[\"比较\",{\"0\":{\"41\":1}}],[\"优点\",{\"1\":{\"41\":1}}],[\"优化\",{\"1\":{\"40\":1}}],[\"触发\",{\"1\":{\"40\":1}}],[\"删除\",{\"1\":{\"40\":1}}],[\"详情\",{\"1\":{\"40\":1}}],[\"详见\",{\"1\":{\"26\":1,\"35\":1}}],[\"尝试\",{\"1\":{\"40\":1}}],[\"想\",{\"1\":{\"40\":1}}],[\"想要\",{\"1\":{\"26\":2,\"39\":1}}],[\"目前\",{\"1\":{\"40\":1}}],[\"现代\",{\"1\":{\"40\":1}}],[\"捆绑\",{\"1\":{\"40\":1}}],[\"模式\",{\"1\":{\"40\":3}}],[\"由\",{\"1\":{\"40\":1}}],[\"由于\",{\"1\":{\"38\":1,\"41\":1}}],[\"服务提供商\",{\"1\":{\"41\":1}}],[\"服务端\",{\"0\":{\"41\":1},\"1\":{\"41\":1}}],[\"服务\",{\"1\":{\"40\":1,\"41\":4}}],[\"服务器\",{\"0\":{\"40\":1},\"1\":{\"16\":1,\"41\":3}}],[\"限制\",{\"0\":{\"40\":1}}],[\"从\",{\"1\":{\"39\":1,\"41\":1}}],[\"因此\",{\"1\":{\"38\":1,\"40\":1}}],[\"因为\",{\"1\":{\"16\":1,\"41\":1}}],[\"web\",{\"1\":{\"38\":1}}],[\"word\",{\"1\":{\"22\":5}}],[\"worker\",{\"0\":{\"15\":1},\"1\":{\"15\":2,\"21\":1,\"22\":2,\"38\":1,\"39\":1,\"40\":3}}],[\"调用\",{\"1\":{\"38\":1}}],[\"导入\",{\"1\":{\"38\":1,\"39\":1}}],[\"导航\",{\"1\":{\"31\":2}}],[\"表现\",{\"1\":{\"37\":1}}],[\"表示\",{\"1\":{\"14\":2}}],[\"明显\",{\"1\":{\"37\":1}}],[\"长\",{\"1\":{\"37\":1}}],[\")\",{\"1\":{\"37\":1}}],[\"(\",{\"1\":{\"37\":1}}],[\"任何\",{\"1\":{\"37\":1}}],[\"浏览器\",{\"1\":{\"37\":1,\"40\":1}}],[\"办法\",{\"1\":{\"37\":1}}],[\"特别\",{\"1\":{\"37\":1,\"41\":1}}],[\"特定\",{\"1\":{\"35\":1}}],[\"环境\",{\"1\":{\"37\":1}}],[\"某些\",{\"1\":{\"37\":1}}],[\"像\",{\"1\":{\"37\":1}}],[\"拆分\",{\"1\":{\"37\":1}}],[\"内置\",{\"1\":{\"37\":1}}],[\"内容\",{\"1\":{\"6\":3,\"8\":2,\"12\":1,\"16\":1,\"26\":1,\"37\":1,\"40\":1}}],[\"jieba\",{\"1\":{\"37\":6}}],[\"js\",{\"1\":{\"15\":1}}],[\"则\",{\"1\":{\"37\":1}}],[\"构建\",{\"1\":{\"37\":1,\"41\":3}}],[\"”\",{\"1\":{\"37\":1}}],[\"“\",{\"1\":{\"37\":1}}],[\"具体\",{\"1\":{\"35\":1}}],[\"覆盖\",{\"1\":{\"35\":1}}],[\"收到\",{\"1\":{\"35\":1}}],[\"没有\",{\"1\":{\"35\":1,\"37\":2,\"41\":1}}],[\"xx\",{\"1\":{\"35\":2}}],[\"修改\",{\"1\":{\"35\":1}}],[\"新增\",{\"1\":{\"35\":1}}],[\"校对\",{\"1\":{\"34\":1,\"40\":1}}],[\"英文\",{\"1\":{\"32\":1}}],[\"git\",{\"1\":{\"32\":2}}],[\"getter\",{\"1\":{\"8\":4,\"32\":6}}],[\"实际\",{\"1\":{\"32\":1}}],[\"实时\",{\"1\":{\"16\":2}}],[\"但是\",{\"1\":{\"40\":1}}],[\"但\",{\"1\":{\"32\":1,\"37\":1,\"41\":1}}],[\"复杂\",{\"1\":{\"32\":1}}],[\"your\",{\"1\":{\"32\":1}}],[\"作者\",{\"1\":{\"32\":4}}],[\"作为\",{\"1\":{\"29\":1,\"32\":1}}],[\"简单\",{\"1\":{\"32\":2}}],[\"那\",{\"1\":{\"32\":1}}],[\"?\",{\"1\":{\"32\":2}}],[\"么\",{\"1\":{\"32\":2}}],[\"理解\",{\"1\":{\"32\":1}}],[\"难以\",{\"1\":{\"32\":1}}],[\"格式\",{\"1\":{\"32\":1}}],[\"其他\",{\"1\":{\"37\":1}}],[\"其\",{\"1\":{\"32\":1}}],[\"其中\",{\"1\":{\"32\":2}}],[\"形式\",{\"1\":{\"32\":1}}],[\"单个\",{\"1\":{\"32\":1}}],[\"单词\",{\"1\":{\"26\":1,\"37\":3}}],[\"字词\",{\"1\":{\"41\":1}}],[\"字符串\",{\"1\":{\"32\":3}}],[\"字段\",{\"1\":{\"17\":2,\"18\":2,\"26\":1}}],[\"参数\",{\"1\":{\"32\":1}}],[\"参见\",{\"1\":{\"26\":1,\"31\":1,\"33\":1,\"34\":1,\"40\":1}}],[\"两个\",{\"1\":{\"32\":1}}],[\"包含\",{\"1\":{\"32\":1,\"37\":1}}],[\"一次\",{\"1\":{\"41\":1}}],[\"一项\",{\"1\":{\"32\":1}}],[\"一个\",{\"1\":{\"21\":2,\"22\":1,\"23\":1,\"24\":1,\"32\":7,\"35\":2,\"38\":1,\"41\":2}}],[\"代表\",{\"1\":{\"32\":1}}],[\"每\",{\"1\":{\"32\":2}}],[\"每一项\",{\"1\":{\"32\":1}}],[\"每个\",{\"1\":{\"21\":1}}],[\"接受\",{\"1\":{\"32\":2}}],[\"提供\",{\"1\":{\"32\":2,\"37\":1,\"38\":2,\"40\":1,\"41\":3}}],[\"提示\",{\"1\":{\"6\":1,\"7\":1,\"19\":7,\"29\":1,\"37\":2,\"41\":1}}],[\"所以\",{\"1\":{\"32\":1,\"37\":1}}],[\"编入索引\",{\"1\":{\"32\":1}}],[\"编辑\",{\"1\":{\"16\":1,\"40\":1}}],[\"把\",{\"1\":{\"32\":1}}],[\"希望\",{\"1\":{\"32\":1}}],[\"很\",{\"1\":{\"32\":1,\"41\":1}}],[\"很多\",{\"1\":{\"32\":1}}],[\"很慢\",{\"1\":{\"12\":1}}],[\"操作\",{\"1\":{\"32\":1}}],[\"常见\",{\"1\":{\"32\":1}}],[\"生命周期\",{\"1\":{\"32\":1}}],[\"生成\",{\"0\":{\"37\":1},\"1\":{\"26\":1,\"41\":1}}],[\"+\",{\"1\":{\"31\":2,\"33\":2}}],[\"列表\",{\"1\":{\"31\":1}}],[\"打开\",{\"1\":{\"31\":1}}],[\"应用\",{\"1\":{\"31\":1}}],[\"应该\",{\"1\":{\"26\":1,\"37\":1,\"40\":1,\"41\":2}}],[\"↓\",{\"1\":{\"31\":1}}],[\"↑\",{\"1\":{\"31\":1}}],[\"激活\",{\"1\":{\"31\":1}}],[\"快捷键\",{\"0\":{\"33\":1},\"1\":{\"31\":4,\"33\":3}}],[\"快速\",{\"0\":{\"25\":1}}],[\"键盘\",{\"0\":{\"31\":1},\"1\":{\"31\":1}}],[\"完全\",{\"1\":{\"41\":1}}],[\"完毕\",{\"1\":{\"41\":1}}],[\"完善\",{\"1\":{\"34\":1}}],[\"完整\",{\"0\":{\"31\":1},\"1\":{\"35\":1}}],[\"完成\",{\"1\":{\"12\":1,\"38\":1}}],[\"改变\",{\"1\":{\"30\":1}}],[\"个\",{\"1\":{\"30\":2}}],[\"请求\",{\"1\":{\"41\":2}}],[\"请参阅\",{\"1\":{\"40\":1}}],[\"请\",{\"1\":{\"29\":1}}],[\"行为\",{\"1\":{\"29\":1,\"30\":1}}],[\"这\",{\"1\":{\"41\":2}}],[\"这会\",{\"1\":{\"41\":2}}],[\"这样\",{\"1\":{\"37\":1}}],[\"这里\",{\"1\":{\"35\":1,\"38\":1}}],[\"这是\",{\"1\":{\"35\":2}}],[\"这些\",{\"1\":{\"32\":1}}],[\"这一\",{\"1\":{\"29\":1}}],[\"这种\",{\"1\":{\"12\":1}}],[\"相关\",{\"1\":{\"29\":1}}],[\"周围\",{\"1\":{\"28\":1}}],[\"显示\",{\"1\":{\"28\":1,\"30\":1,\"32\":2,\"39\":3}}],[\"关键词\",{\"1\":{\"28\":2}}],[\"关闭\",{\"1\":{\"19\":1,\"31\":1}}],[\"上下文\",{\"0\":{\"28\":1},\"1\":{\"28\":1}}],[\"上\",{\"1\":{\"27\":1,\"41\":2}}],[\"上手\",{\"0\":{\"25\":1}}],[\"大多数\",{\"1\":{\"41\":1}}],[\"大型\",{\"1\":{\"27\":1,\"41\":2}}],[\"大量\",{\"1\":{\"12\":1}}],[\"即使\",{\"1\":{\"27\":1}}],[\"极快\",{\"1\":{\"27\":1}}],[\"极致\",{\"0\":{\"27\":1}}],[\"极大\",{\"1\":{\"16\":1}}],[\"正在\",{\"1\":{\"34\":1,\"37\":2,\"40\":1}}],[\"正确\",{\"1\":{\"26\":1,\"37\":1}}],[\"正文\",{\"1\":{\"6\":2}}],[\"执行\",{\"1\":{\"26\":1,\"37\":1,\"41\":2}}],[\"韩语\",{\"1\":{\"26\":1,\"37\":2}}],[\"日语\",{\"1\":{\"26\":1,\"37\":2}}],[\"、\",{\"1\":{\"26\":1,\"32\":2,\"37\":1,\"41\":1}}],[\"例如\",{\"1\":{\"26\":1,\"41\":1}}],[\"例子\",{\"1\":{\"8\":1,\"32\":2}}],[\"不必要\",{\"1\":{\"41\":1}}],[\"不佳\",{\"1\":{\"37\":1}}],[\"不是\",{\"1\":{\"32\":1}}],[\"不\",{\"1\":{\"26\":1,\"29\":1,\"37\":2,\"38\":1,\"39\":1,\"40\":1}}],[\"不会\",{\"1\":{\"6\":1,\"40\":1}}],[\"阻止\",{\"1\":{\"26\":1}}],[\"也\",{\"1\":{\"26\":1,\"27\":1,\"32\":1,\"41\":1}}],[\"→\",{\"1\":{\"26\":1,\"31\":1,\"33\":1,\"34\":1,\"35\":1,\"40\":1}}],[\"控制\",{\"1\":{\"26\":1,\"32\":1}}],[\"只\",{\"1\":{\"26\":1,\"37\":1}}],[\"只会\",{\"1\":{\"6\":1}}],[\"全部内容\",{\"1\":{\"26\":1,\"37\":1}}],[\"全文\",{\"1\":{\"24\":1}}],[\"仅\",{\"1\":{\"26\":1}}],[\"范围\",{\"0\":{\"26\":1},\"1\":{\"26\":1}}],[\"与\",{\"0\":{\"28\":1,\"41\":1},\"1\":{\"24\":1,\"41\":2}}],[\"添加\",{\"1\":{\"24\":1,\"26\":1,\"32\":5,\"40\":1,\"41\":1}}],[\"强大\",{\"1\":{\"24\":1}}],[\"指南\",{\"0\":{\"24\":1}}],[\"指定\",{\"1\":{\"9\":1}}],[\"预览\",{\"1\":{\"23\":1}}],[\"源代码\",{\"1\":{\"23\":1}}],[\"案例\",{\"1\":{\"23\":1}}],[\"了\",{\"1\":{\"23\":1,\"32\":2,\"38\":1,\"40\":1}}],[\"了解\",{\"1\":{\"23\":1,\"40\":1}}],[\"制作\",{\"1\":{\"23\":1}}],[\"让\",{\"1\":{\"23\":1}}],[\"演示\",{\"0\":{\"23\":1}}],[\"void\",{\"1\":{\"22\":1}}],[\"vuepress\",{\"1\":{\"8\":2,\"19\":1,\"21\":1,\"23\":2,\"24\":1,\"27\":1,\"32\":5,\"35\":2,\"37\":4,\"38\":2,\"39\":2,\"41\":1}}],[\"终止\",{\"1\":{\"22\":1,\"39\":1}}],[\"options\",{\"1\":{\"22\":6}}],[\"omit\",{\"1\":{\"21\":1}}],[\"路径\",{\"1\":{\"22\":3}}],[\"docsearch\",{\"1\":{\"41\":2}}],[\"data\",{\"1\":{\"32\":1}}],[\"display\",{\"1\":{\"22\":4}}],[\"devserver\",{\"1\":{\"40\":1}}],[\"debug\",{\"1\":{\"16\":1}}],[\"defineclientconfig\",{\"1\":{\"38\":2}}],[\"definesearchconfig\",{\"0\":{\"21\":1},\"1\":{\"21\":2,\"26\":1,\"38\":3}}],[\"defineuserconfig\",{\"1\":{\"8\":2,\"32\":4,\"35\":2,\"37\":4}}],[\"defaulttitle\",{\"1\":{\"19\":1}}],[\"default\",{\"1\":{\"8\":2,\"9\":4,\"21\":1,\"23\":1,\"32\":2,\"35\":1,\"37\":2,\"38\":1}}],[\"description\",{\"1\":{\"8\":1}}],[\"通过\",{\"0\":{\"39\":1},\"1\":{\"22\":1,\"26\":2,\"27\":1,\"30\":1,\"31\":1,\"32\":4,\"33\":1,\"34\":1,\"35\":1,\"40\":1,\"41\":1}}],[\"通常\",{\"1\":{\"16\":1,\"41\":1}}],[\"放置\",{\"1\":{\"21\":1,\"32\":1,\"38\":1}}],[\"基于\",{\"1\":{\"21\":1,\"26\":1,\"37\":1}}],[\"queryresult\",{\"1\":{\"22\":1}}],[\"query\",{\"1\":{\"21\":3,\"22\":6}}],[\"queryhistory\",{\"1\":{\"19\":1}}],[\"queryhistorycount\",{\"0\":{\"10\":1},\"1\":{\"30\":1}}],[\"boostdocument\",{\"1\":{\"21\":1}}],[\"boolean\",{\"1\":{\"6\":1,\"7\":1,\"9\":4,\"13\":1,\"16\":1}}],[\"header\",{\"1\":{\"22\":1}}],[\"heading\",{\"1\":{\"22\":1}}],[\"headingmatcheditem\",{\"1\":{\"22\":2}}],[\"handled\",{\"1\":{\"21\":1}}],[\"hotreload\",{\"0\":{\"16\":1},\"1\":{\"34\":1,\"40\":1}}],[\"hotkeys\",{\"0\":{\"9\":1},\"1\":{\"31\":1,\"33\":1}}],[\"支持\",{\"0\":{\"31\":1},\"1\":{\"21\":1,\"31\":1,\"35\":3,\"38\":1,\"40\":4}}],[\"额外\",{\"1\":{\"21\":1,\"32\":1,\"38\":1,\"41\":1}}],[\"还是\",{\"1\":{\"32\":1}}],[\"还\",{\"1\":{\"21\":1,\"32\":2}}],[\"无法\",{\"1\":{\"40\":1}}],[\"无论是\",{\"1\":{\"32\":1}}],[\"无\",{\"1\":{\"19\":2}}],[\"加载\",{\"1\":{\"19\":1,\"40\":1,\"41\":1}}],[\"补全\",{\"1\":{\"19\":1}}],[\"nodejs\",{\"1\":{\"37\":6}}],[\"not\",{\"1\":{\"21\":1}}],[\"nn\",{\"1\":{\"35\":2}}],[\"name\",{\"1\":{\"32\":3}}],[\"navigate\",{\"1\":{\"19\":1}}],[\"number\",{\"1\":{\"10\":1,\"11\":1,\"12\":1}}],[\"null\",{\"1\":{\"8\":1,\"17\":1,\"18\":1,\"32\":1}}],[\"选中\",{\"1\":{\"31\":1}}],[\"选择\",{\"1\":{\"19\":2,\"30\":1,\"41\":2}}],[\"选项\",{\"0\":{\"5\":1,\"38\":1},\"1\":{\"6\":1,\"17\":1,\"18\":1,\"21\":4,\"22\":3,\"26\":3,\"30\":1,\"31\":1,\"32\":1,\"33\":1,\"34\":1,\"35\":1,\"38\":4,\"40\":1}}],[\"符\",{\"1\":{\"19\":1}}],[\"占位\",{\"1\":{\"19\":1}}],[\"创建\",{\"1\":{\"17\":1,\"18\":1,\"22\":1,\"41\":1}}],[\"术语\",{\"1\":{\"17\":1,\"18\":1}}],[\"规范\",{\"1\":{\"17\":1,\"18\":1}}],[\"或者\",{\"1\":{\"32\":1,\"41\":1}}],[\"或\",{\"1\":{\"17\":1,\"18\":1,\"26\":1,\"31\":1,\"34\":1,\"35\":1,\"37\":1,\"40\":1,\"41\":1}}],[\"处理\",{\"1\":{\"17\":1,\"18\":1}}],[\"分别\",{\"1\":{\"32\":2}}],[\"分\",{\"1\":{\"18\":1}}],[\"分词器\",{\"1\":{\"21\":1}}],[\"分词\",{\"1\":{\"17\":1,\"18\":1,\"26\":2,\"37\":6}}],[\"分类\",{\"1\":{\"8\":2,\"32\":2}}],[\"并\",{\"1\":{\"28\":1,\"32\":1,\"37\":1,\"41\":4}}],[\"并不需要\",{\"1\":{\"16\":1}}],[\"并且\",{\"1\":{\"16\":1,\"32\":1}}],[\"速度\",{\"0\":{\"27\":1},\"1\":{\"16\":1,\"27\":1,\"41\":1}}],[\"剧烈\",{\"1\":{\"16\":1}}],[\"影响\",{\"1\":{\"16\":1}}],[\"性能\",{\"1\":{\"16\":1,\"40\":1,\"41\":1}}],[\"产生\",{\"1\":{\"16\":1}}],[\"站点\",{\"1\":{\"16\":1,\"24\":1,\"27\":1,\"41\":3}}],[\"巨大\",{\"1\":{\"16\":1}}],[\"功能\",{\"1\":{\"16\":1,\"24\":1,\"37\":1,\"40\":1}}],[\"此处\",{\"1\":{\"21\":1,\"38\":1}}],[\"此\",{\"1\":{\"16\":1,\"30\":1,\"32\":1,\"40\":1}}],[\"此值\",{\"1\":{\"12\":1}}],[\"是\",{\"1\":{\"16\":1,\"24\":1,\"27\":1,\"32\":1,\"38\":1,\"41\":2}}],[\"是否\",{\"1\":{\"6\":1,\"7\":1,\"9\":4,\"16\":2}}],[\"它们\",{\"1\":{\"30\":2}}],[\"它\",{\"1\":{\"16\":1,\"41\":2}}],[\"重载\",{\"1\":{\"16\":2,\"40\":2}}],[\"热\",{\"0\":{\"34\":1},\"1\":{\"16\":2,\"34\":2,\"40\":2}}],[\"热键\",{\"1\":{\"9\":4}}],[\"启用\",{\"1\":{\"16\":1,\"40\":1}}],[\"开源\",{\"1\":{\"41\":4}}],[\"开启\",{\"1\":{\"26\":1,\"34\":1}}],[\"开发者\",{\"1\":{\"32\":1}}],[\"开发\",{\"0\":{\"40\":1},\"1\":{\"16\":2,\"40\":3}}],[\"开始\",{\"1\":{\"12\":2,\"35\":1}}],[\"文件\",{\"1\":{\"40\":1}}],[\"文件名称\",{\"1\":{\"15\":1}}],[\"文本\",{\"1\":{\"37\":1}}],[\"文档\",{\"1\":{\"37\":2,\"41\":1}}],[\"文字\",{\"1\":{\"19\":5}}],[\"文章\",{\"1\":{\"8\":1,\"26\":2,\"32\":1}}],[\"输出\",{\"1\":{\"15\":1}}],[\"输入\",{\"1\":{\"12\":2,\"26\":1,\"29\":1,\"30\":1}}],[\"输入框\",{\"1\":{\"9\":1}}],[\"总分\",{\"1\":{\"14\":1}}],[\"高级\",{\"0\":{\"36\":1}}],[\"高亮\",{\"0\":{\"28\":1}}],[\"高\",{\"1\":{\"14\":2}}],[\"更加\",{\"1\":{\"32\":1}}],[\"更好\",{\"1\":{\"23\":1,\"26\":1,\"40\":1}}],[\"更新\",{\"0\":{\"34\":1},\"1\":{\"16\":1,\"32\":1,\"34\":2,\"40\":1}}],[\"更\",{\"1\":{\"14\":2}}],[\"最后\",{\"1\":{\"30\":2}}],[\"最高分\",{\"1\":{\"14\":1}}],[\"最大\",{\"1\":{\"10\":1,\"11\":1}}],[\"对于\",{\"1\":{\"41\":1}}],[\"对象\",{\"1\":{\"32\":2}}],[\"对\",{\"1\":{\"14\":1,\"16\":1,\"17\":1,\"18\":1,\"26\":1,\"37\":1}}],[\"匹配\",{\"1\":{\"14\":1}}],[\"策略\",{\"1\":{\"14\":2}}],[\"排序\",{\"1\":{\"14\":2}}],[\"module\",{\"1\":{\"40\":1}}],[\"mm\",{\"1\":{\"35\":2}}],[\"matcheditem\",{\"1\":{\"22\":2}}],[\"markdown\",{\"1\":{\"16\":1,\"32\":1,\"40\":1}}],[\"max\",{\"1\":{\"14\":3}}],[\"meta\",{\"1\":{\"9\":1}}],[\"metakey\",{\"1\":{\"9\":1}}],[\"函数\",{\"1\":{\"13\":1,\"17\":2,\"18\":2,\"21\":2,\"32\":1,\"38\":2}}],[\"过滤\",{\"1\":{\"13\":1,\"21\":2,\"38\":2}}],[\"用于\",{\"1\":{\"13\":1,\"17\":2,\"18\":2}}],[\"用户\",{\"1\":{\"12\":1,\"16\":1,\"32\":1,\"41\":5}}],[\"已\",{\"1\":{\"12\":1,\"35\":1}}],[\"确保\",{\"1\":{\"12\":1}}],[\"来自\",{\"1\":{\"26\":1,\"31\":1,\"33\":1,\"38\":1}}],[\"来\",{\"1\":{\"12\":1,\"21\":1,\"26\":3,\"30\":2,\"32\":1,\"34\":1,\"35\":1,\"38\":1,\"39\":2,\"40\":1}}],[\"可\",{\"1\":{\"41\":1}}],[\"可能\",{\"1\":{\"12\":2,\"32\":1}}],[\"可以\",{\"1\":{\"6\":1,\"8\":1,\"10\":1,\"11\":1,\"22\":1,\"24\":1,\"26\":3,\"30\":2,\"31\":2,\"32\":2,\"33\":1,\"34\":1,\"35\":1,\"37\":4,\"38\":2,\"39\":1,\"40\":1}}],[\"客户端\",{\"0\":{\"20\":1},\"1\":{\"12\":1,\"24\":1,\"26\":1,\"38\":1,\"41\":2}}],[\"进行\",{\"1\":{\"12\":1,\"14\":1,\"17\":1,\"18\":1,\"26\":1,\"32\":1,\"37\":5,\"41\":1}}],[\"有\",{\"1\":{\"12\":1,\"41\":2}}],[\"注意\",{\"1\":{\"26\":1}}],[\"注\",{\"1\":{\"12\":1,\"16\":1,\"38\":1}}],[\"延时\",{\"1\":{\"12\":1}}],[\"到\",{\"1\":{\"12\":1,\"32\":1}}],[\"结束\",{\"1\":{\"12\":1}}],[\"结果\",{\"1\":{\"11\":1,\"14\":3,\"19\":2,\"21\":1,\"22\":2,\"28\":1,\"30\":1,\"31\":2,\"32\":1,\"34\":1,\"37\":1,\"38\":2,\"39\":4,\"40\":1,\"41\":2}}],[\"150\",{\"1\":{\"12\":1}}],[\"results\",{\"1\":{\"21\":1,\"39\":2}}],[\"resulthistory\",{\"1\":{\"19\":1}}],[\"resulthistorycount\",{\"0\":{\"11\":1},\"1\":{\"30\":1}}],[\"record\",{\"1\":{\"8\":1,\"18\":1,\"21\":1}}],[\"0\",{\"1\":{\"10\":1,\"11\":1,\"30\":1}}],[\"数据\",{\"1\":{\"32\":2}}],[\"数据库\",{\"1\":{\"16\":1}}],[\"数量\",{\"1\":{\"10\":1,\"11\":1}}],[\"数组\",{\"1\":{\"9\":1,\"32\":2}}],[\"历史记录\",{\"0\":{\"30\":1}}],[\"历史\",{\"1\":{\"10\":1,\"11\":1,\"19\":3}}],[\"词典\",{\"1\":{\"37\":2}}],[\"词\",{\"1\":{\"10\":1,\"29\":1}}],[\"查询\",{\"0\":{\"30\":1},\"1\":{\"10\":1,\"26\":1,\"30\":1}}],[\"存储\",{\"1\":{\"10\":1,\"11\":1}}],[\"5\",{\"1\":{\"10\":1,\"11\":1,\"30\":2}}],[\"禁用\",{\"1\":{\"9\":1,\"10\":1,\"11\":1,\"16\":1,\"30\":1}}],[\"聚焦\",{\"1\":{\"9\":1}}],[\"框\",{\"1\":{\"9\":1,\"19\":1,\"29\":1,\"31\":2}}],[\"时间\",{\"1\":{\"32\":1,\"41\":1}}],[\"时\",{\"1\":{\"9\":1,\"12\":2,\"14\":1,\"16\":1,\"26\":1,\"29\":1,\"39\":1}}],[\"按照\",{\"1\":{\"14\":1}}],[\"按\",{\"1\":{\"9\":1}}],[\"按下\",{\"1\":{\"9\":4}}],[\"当前\",{\"1\":{\"22\":1}}],[\"当有\",{\"1\":{\"14\":1}}],[\"当\",{\"1\":{\"9\":1,\"26\":1,\"39\":1}}],[\"k\",{\"1\":{\"9\":1,\"31\":1,\"33\":1}}],[\"keyword\",{\"1\":{\"39\":1}}],[\"key\",{\"1\":{\"9\":5,\"39\":2}}],[\"author\",{\"1\":{\"32\":4}}],[\"autocomplete\",{\"1\":{\"19\":1}}],[\"autosuggestions\",{\"0\":{\"7\":1},\"1\":{\"29\":1}}],[\"algolia\",{\"1\":{\"41\":2}}],[\"all\",{\"1\":{\"22\":1,\"39\":2}}],[\"alt\",{\"1\":{\"9\":1}}],[\"altkey\",{\"1\":{\"9\":1}}],[\"api\",{\"0\":{\"39\":1},\"1\":{\"22\":1,\"39\":1,\"41\":1}}],[\"are\",{\"1\":{\"21\":1}}],[\"同时\",{\"1\":{\"9\":4,\"22\":1,\"26\":1,\"39\":1,\"41\":1}}],[\"值\",{\"1\":{\"9\":1,\"32\":2}}],[\".\",{\"1\":{\"8\":4,\"9\":6,\"15\":2,\"32\":13,\"38\":3,\"39\":3}}],[\"zh\",{\"1\":{\"8\":4,\"32\":6,\"35\":1,\"37\":4}}],[\"update\",{\"1\":{\"32\":1}}],[\"updatetime\",{\"1\":{\"32\":2}}],[\"us\",{\"1\":{\"8\":1,\"32\":1,\"37\":1}}],[\"undefined\",{\"1\":{\"8\":1,\"17\":1,\"18\":1}}],[\"esc\",{\"1\":{\"31\":1}}],[\"emptyresult\",{\"1\":{\"19\":1}}],[\"emptyhistory\",{\"1\":{\"19\":1}}],[\"extendspage\",{\"1\":{\"32\":1}}],[\"extends\",{\"1\":{\"21\":2}}],[\"exit\",{\"1\":{\"19\":1}}],[\"export\",{\"1\":{\"8\":1,\"21\":1,\"32\":2,\"35\":1,\"37\":2,\"38\":1}}],[\"event\",{\"1\":{\"9\":6}}],[\"enter\",{\"1\":{\"31\":1}}],[\"en\",{\"1\":{\"8\":1,\"32\":1,\"37\":1}}],[\"locale\",{\"1\":{\"21\":2}}],[\"localepath\",{\"1\":{\"19\":1,\"22\":6}}],[\"locales\",{\"0\":{\"19\":1},\"1\":{\"8\":1,\"21\":1,\"32\":1,\"35\":3,\"37\":1}}],[\"loading\",{\"1\":{\"19\":1}}],[\"lang\",{\"1\":{\"8\":2,\"32\":2,\"35\":2,\"37\":3}}],[\"语言\",{\"0\":{\"35\":1},\"1\":{\"8\":1,\"18\":1,\"19\":2,\"21\":1,\"22\":3,\"26\":1,\"32\":3,\"35\":7,\"37\":3}}],[\"多个\",{\"1\":{\"14\":1,\"32\":1}}],[\"多\",{\"0\":{\"35\":1},\"1\":{\"8\":1,\"19\":2,\"32\":2,\"35\":3,\"41\":1}}],[\"如\",{\"1\":{\"37\":2}}],[\"如此\",{\"1\":{\"27\":1}}],[\"如何\",{\"1\":{\"23\":1,\"32\":1}}],[\"如下\",{\"1\":{\"8\":1,\"32\":3}}],[\"如果\",{\"1\":{\"6\":1,\"26\":2,\"29\":1,\"32\":2,\"34\":1,\"37\":4,\"39\":1,\"40\":2,\"41\":2}}],[\"假设\",{\"1\":{\"32\":1}}],[\"假定\",{\"1\":{\"8\":1,\"32\":2}}],[\"假如\",{\"1\":{\"8\":1}}],[\"我们\",{\"1\":{\"8\":1,\"21\":1,\"23\":1,\"32\":3,\"37\":1,\"38\":1,\"40\":2}}],[\"param\",{\"1\":{\"22\":9}}],[\"pass\",{\"1\":{\"21\":1}}],[\"pagedata\",{\"1\":{\"21\":4}}],[\"page\",{\"1\":{\"8\":6,\"13\":2,\"32\":9}}],[\"placeholder\",{\"1\":{\"19\":1,\"35\":2}}],[\"plugins\",{\"1\":{\"8\":1,\"32\":2,\"35\":1,\"37\":2}}],[\"plugin\",{\"1\":{\"8\":1,\"19\":1,\"21\":1,\"23\":1,\"24\":1,\"27\":1,\"32\":3,\"35\":1,\"37\":2,\"38\":1,\"39\":2,\"41\":1}}],[\"promise\",{\"1\":{\"21\":1,\"22\":3}}],[\"processterm\",{\"1\":{\"17\":1,\"18\":1,\"21\":1}}],[\"pro\",{\"1\":{\"8\":1,\"15\":1,\"19\":1,\"21\":1,\"23\":1,\"24\":1,\"27\":1,\"32\":2,\"35\":1,\"37\":2,\"38\":1,\"39\":2}}],[\"-\",{\"1\":{\"8\":5,\"15\":1,\"16\":2,\"19\":3,\"21\":3,\"22\":9,\"23\":4,\"24\":3,\"27\":3,\"32\":15,\"35\":6,\"37\":15,\"38\":3,\"39\":6,\"41\":1}}],[\"\\\"\",{\"1\":{\"8\":28,\"9\":4,\"14\":6,\"21\":12,\"22\":8,\"32\":46,\"35\":18,\"37\":28,\"38\":4,\"39\":8,\"40\":2}}],[\"id\",{\"1\":{\"22\":4,\"37\":2}}],[\"import\",{\"1\":{\"8\":2,\"21\":1,\"32\":4,\"35\":2,\"37\":6,\"38\":2,\"39\":1}}],[\"internally\",{\"1\":{\"21\":1}}],[\"interface\",{\"1\":{\"8\":1,\"9\":1,\"17\":1,\"18\":1,\"19\":2,\"21\":2,\"22\":6}}],[\"indexitem\",{\"1\":{\"22\":3}}],[\"index\",{\"1\":{\"22\":1}}],[\"indexlocaleoptions\",{\"0\":{\"18\":1},\"1\":{\"26\":1,\"37\":3}}],[\"indexoptions\",{\"0\":{\"17\":1},\"1\":{\"26\":1,\"37\":2}}],[\"indexcontent\",{\"0\":{\"6\":1},\"1\":{\"26\":1,\"37\":2}}],[\":\",{\"1\":{\"8\":3,\"21\":1,\"31\":1,\"32\":4,\"37\":1,\"38\":1}}],[\"以便\",{\"1\":{\"22\":1}}],[\"以\",{\"1\":{\"9\":1,\"10\":1,\"11\":1,\"26\":2,\"32\":2,\"37\":1}}],[\"以下\",{\"1\":{\"8\":1,\"21\":1}}],[\"以及\",{\"1\":{\"6\":1}}],[\"标签\",{\"1\":{\"8\":2,\"32\":2}}],[\"标记\",{\"1\":{\"8\":1,\"16\":1,\"37\":1}}],[\"标题\",{\"1\":{\"6\":1,\"19\":3,\"26\":1}}],[\"time\",{\"1\":{\"32\":1}}],[\"title\",{\"1\":{\"22\":2}}],[\"titlematcheditem\",{\"1\":{\"22\":2}}],[\"tab\",{\"1\":{\"31\":1}}],[\"tag\",{\"1\":{\"8\":3,\"22\":1,\"32\":3}}],[\"then\",{\"1\":{\"39\":3}}],[\"theme\",{\"1\":{\"23\":1}}],[\"these\",{\"1\":{\"21\":2}}],[\"type\",{\"1\":{\"22\":6,\"40\":1}}],[\"terminate\",{\"1\":{\"22\":1,\"39\":2}}],[\"term\",{\"1\":{\"17\":1,\"18\":1}}],[\"text\",{\"1\":{\"17\":1,\"18\":1,\"37\":6}}],[\"tolocalestring\",{\"1\":{\"32\":1}}],[\"to\",{\"1\":{\"21\":1}}],[\"tokenize\",{\"1\":{\"17\":1,\"18\":1,\"21\":1,\"37\":2}}],[\"total\",{\"1\":{\"14\":2}}],[\"true\",{\"1\":{\"6\":1,\"9\":2,\"13\":1,\"26\":1,\"34\":1,\"37\":4,\"40\":1}}],[\"中文\",{\"1\":{\"26\":1,\"32\":1,\"37\":4}}],[\"中\",{\"0\":{\"40\":1},\"1\":{\"8\":1,\"16\":2,\"17\":1,\"18\":1,\"19\":1,\"26\":2,\"28\":1,\"32\":6,\"37\":2,\"38\":3,\"39\":1,\"40\":1}}],[\"在\",{\"1\":{\"8\":2,\"12\":1,\"14\":2,\"16\":3,\"26\":2,\"27\":1,\"29\":1,\"32\":9,\"35\":1,\"37\":2,\"38\":3,\"40\":4,\"41\":9}}],[\"主题\",{\"1\":{\"8\":1,\"32\":1}}],[\"主页\",{\"0\":{\"0\":1}}],[\"否\",{\"1\":{\"8\":1,\"17\":1,\"18\":1,\"19\":1}}],[\"}\",{\"1\":{\"8\":12,\"9\":3,\"17\":1,\"18\":1,\"19\":2,\"21\":5,\"22\":6,\"32\":18,\"35\":10,\"37\":16,\"38\":4,\"39\":6}}],[\"<\",{\"1\":{\"8\":1,\"18\":1,\"21\":3,\"22\":6}}],[\"?\",{\"1\":{\"8\":1,\"9\":4,\"17\":3,\"18\":3,\"21\":4,\"22\":6,\"32\":1,\"37\":2}}],[\"fields\",{\"1\":{\"21\":1}}],[\"fieldname\",{\"1\":{\"17\":1,\"18\":1,\"37\":4}}],[\"filter\",{\"0\":{\"13\":1},\"1\":{\"21\":1,\"26\":2}}],[\"from\",{\"1\":{\"8\":2,\"21\":1,\"32\":4,\"35\":2,\"37\":6,\"38\":2,\"39\":1}}],[\"frontmatter\",{\"1\":{\"8\":3,\"26\":1,\"32\":6}}],[\"formatter\",{\"1\":{\"8\":3,\"32\":5}}],[\"false\",{\"1\":{\"6\":1,\"7\":1,\"9\":4,\"17\":1,\"18\":1,\"26\":1,\"29\":1}}],[\"替换成\",{\"1\":{\"32\":1}}],[\"替换\",{\"1\":{\"8\":1}}],[\"返回\",{\"1\":{\"8\":1,\"32\":2,\"39\":1}}],[\"被\",{\"1\":{\"8\":1,\"9\":2,\"26\":2,\"38\":1}}],[\"会为\",{\"1\":{\"41\":1}}],[\"会高亮\",{\"1\":{\"28\":1}}],[\"会排\",{\"1\":{\"14\":2}}],[\"会\",{\"1\":{\"8\":1,\"9\":1,\"12\":1,\"14\":1,\"16\":1,\"29\":1,\"32\":1,\"37\":1}}],[\"cut\",{\"1\":{\"37\":4}}],[\"custom\",{\"1\":{\"22\":1}}],[\"custommatcheditem\",{\"1\":{\"22\":2}}],[\"customfields\",{\"0\":{\"8\":1},\"1\":{\"8\":1,\"32\":4}}],[\"const\",{\"1\":{\"22\":1,\"39\":1}}],[\"contents\",{\"1\":{\"22\":1}}],[\"contentmatcheditem\",{\"1\":{\"22\":2}}],[\"content\",{\"1\":{\"8\":6,\"22\":2,\"32\":9}}],[\"createsearchworker\",{\"0\":{\"22\":1},\"1\":{\"22\":1,\"39\":3}}],[\"client\",{\"1\":{\"21\":1,\"38\":2,\"39\":2}}],[\"caniuse\",{\"1\":{\"40\":1}}],[\"can\",{\"1\":{\"21\":1}}],[\"cancel\",{\"1\":{\"19\":1}}],[\"category\",{\"1\":{\"8\":3,\"32\":3}}],[\"ctrl\",{\"1\":{\"9\":3,\"31\":2,\"33\":2}}],[\"ctrlkey\",{\"1\":{\"9\":1}}],[\"cn\",{\"1\":{\"8\":1,\"32\":1,\"35\":1,\"37\":2}}],[\"$\",{\"1\":{\"8\":6,\"32\":8}}],[\"`\",{\"1\":{\"8\":6,\"9\":10,\"19\":2,\"35\":2}}],[\"@\",{\"1\":{\"8\":2,\"9\":4,\"22\":9,\"23\":1,\"32\":1,\"41\":1}}],[\"展示\",{\"1\":{\"8\":1}}],[\";\",{\"1\":{\"8\":5,\"9\":5,\"17\":2,\"18\":2,\"19\":15,\"21\":7,\"22\":23,\"32\":6,\"35\":3,\"37\":8,\"38\":4,\"39\":6}}],[\"|\",{\"1\":{\"8\":4,\"14\":1,\"17\":4,\"18\":4,\"21\":5,\"22\":5}}],[\"safari\",{\"1\":{\"40\":1}}],[\"slimsearch\",{\"1\":{\"27\":1,\"38\":1}}],[\"suggestfilter\",{\"1\":{\"38\":1}}],[\"suggest\",{\"1\":{\"22\":1,\"39\":2}}],[\"suggestions\",{\"1\":{\"21\":1,\"39\":2}}],[\"suggestionsfilter\",{\"1\":{\"21\":1}}],[\"splitword\",{\"1\":{\"21\":1,\"26\":1}}],[\"select\",{\"1\":{\"19\":1}}],[\"searchworker\",{\"1\":{\"22\":2}}],[\"searchresult\",{\"1\":{\"21\":2,\"22\":2}}],[\"searchfilter\",{\"1\":{\"21\":1,\"38\":1}}],[\"searchoptions\",{\"1\":{\"21\":2,\"22\":3}}],[\"searchlocaleoptions\",{\"1\":{\"21\":3}}],[\"searching\",{\"1\":{\"19\":1}}],[\"searchdelay\",{\"0\":{\"12\":1}}],[\"search\",{\"1\":{\"8\":1,\"15\":1,\"19\":2,\"21\":1,\"22\":1,\"23\":1,\"24\":1,\"26\":1,\"27\":1,\"32\":2,\"35\":1,\"37\":2,\"38\":1,\"39\":4}}],[\"searchprolocaledata\",{\"1\":{\"19\":2}}],[\"searchprolocaleconfig\",{\"1\":{\"19\":2}}],[\"searchproindexoptions\",{\"1\":{\"17\":2,\"18\":2}}],[\"searchprohotkeyoptions\",{\"1\":{\"9\":2}}],[\"searchproplugin\",{\"1\":{\"8\":2,\"32\":4,\"35\":2,\"37\":4}}],[\"searchprocustomfieldoptions\",{\"1\":{\"8\":2}}],[\"sortstrategy\",{\"0\":{\"14\":1}}],[\"shift\",{\"1\":{\"9\":1}}],[\"shiftkey\",{\"1\":{\"9\":1}}],[\"string\",{\"1\":{\"8\":5,\"9\":1,\"15\":1,\"17\":6,\"18\":7,\"19\":15,\"21\":9,\"22\":20}}],[\">\",{\"1\":{\"8\":4,\"13\":2,\"17\":2,\"18\":3,\"21\":6,\"22\":11,\"32\":4,\"37\":2,\"39\":3}}],[\"=\",{\"1\":{\"8\":3,\"13\":2,\"17\":2,\"18\":2,\"21\":3,\"22\":7,\"32\":4,\"37\":8,\"39\":4}}],[\")\",{\"1\":{\"8\":5,\"13\":2,\"17\":2,\"18\":2,\"21\":4,\"22\":5,\"32\":12,\"35\":2,\"37\":9,\"38\":2,\"39\":11}}],[\"(\",{\"1\":{\"8\":5,\"13\":2,\"17\":2,\"18\":2,\"21\":4,\"22\":5,\"32\":12,\"35\":2,\"37\":9,\"38\":2,\"39\":11}}],[\"器\",{\"1\":{\"8\":1,\"32\":1}}],[\"*\",{\"1\":{\"8\":12,\"9\":28,\"17\":8,\"18\":8,\"19\":60,\"21\":12,\"22\":28}}],[\"/\",{\"1\":{\"8\":15,\"9\":11,\"17\":4,\"18\":4,\"19\":30,\"21\":15,\"22\":8,\"23\":1,\"31\":1,\"32\":18,\"33\":1,\"35\":14,\"37\":11,\"38\":6,\"39\":16,\"40\":2,\"41\":1}}],[\"{\",{\"1\":{\"8\":12,\"9\":3,\"17\":1,\"18\":1,\"19\":2,\"21\":5,\"22\":6,\"32\":18,\"35\":10,\"37\":16,\"38\":4,\"39\":6}}],[\"]\",{\"1\":{\"8\":4,\"9\":2,\"17\":2,\"18\":2,\"19\":1,\"21\":5,\"22\":8,\"32\":4,\"35\":1,\"37\":4}}],[\"[\",{\"1\":{\"8\":4,\"9\":2,\"17\":2,\"18\":2,\"19\":1,\"21\":5,\"22\":8,\"32\":4,\"35\":1,\"37\":4}}],[\"搜索词\",{\"1\":{\"22\":3}}],[\"搜索\",{\"0\":{\"29\":1,\"30\":1,\"33\":1,\"38\":1,\"41\":1},\"1\":{\"7\":1,\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":3,\"19\":7,\"21\":3,\"22\":6,\"24\":2,\"26\":1,\"27\":1,\"28\":1,\"29\":2,\"30\":1,\"31\":5,\"32\":2,\"33\":2,\"34\":1,\"35\":1,\"37\":1,\"38\":4,\"39\":6,\"40\":5,\"41\":12}}],[\"自己\",{\"1\":{\"37\":1,\"41\":2}}],[\"自动\",{\"0\":{\"29\":1},\"1\":{\"7\":1,\"19\":1,\"29\":1,\"31\":1,\"39\":1}}],[\"自定义\",{\"0\":{\"32\":1,\"37\":1,\"38\":1},\"1\":{\"6\":1,\"8\":2,\"21\":1,\"24\":1,\"26\":2,\"32\":4}}],[\"为了\",{\"1\":{\"23\":1,\"26\":1,\"38\":1,\"40\":2,\"41\":1}}],[\"为空\",{\"1\":{\"9\":1}}],[\"为\",{\"1\":{\"6\":1,\"10\":1,\"11\":1,\"24\":1,\"30\":1,\"31\":1,\"32\":3,\"33\":1,\"38\":1,\"41\":5}}],[\"该\",{\"1\":{\"6\":1,\"32\":4}}],[\"将\",{\"1\":{\"6\":1,\"30\":2,\"32\":2}}],[\"需要\",{\"1\":{\"6\":1,\"12\":1,\"26\":1,\"29\":1,\"32\":2,\"37\":1,\"38\":1,\"39\":1,\"41\":2}}],[\"项目\",{\"1\":{\"8\":2,\"32\":5,\"41\":2}}],[\"项\",{\"1\":{\"6\":1,\"17\":1,\"18\":1,\"32\":2}}],[\"你\",{\"1\":{\"6\":1,\"8\":3,\"12\":1,\"22\":1,\"23\":1,\"24\":1,\"26\":8,\"29\":1,\"30\":3,\"31\":2,\"32\":10,\"33\":1,\"34\":3,\"35\":1,\"37\":8,\"38\":2,\"39\":2,\"40\":5,\"41\":10}}],[\"摘要\",{\"1\":{\"6\":1,\"26\":1}}],[\"和\",{\"0\":{\"30\":1},\"1\":{\"6\":1,\"8\":2,\"22\":1,\"23\":1,\"26\":2,\"30\":2,\"31\":3,\"32\":4,\"33\":1,\"37\":2,\"38\":4,\"39\":2}}],[\"的\",{\"0\":{\"30\":1,\"40\":1},\"1\":{\"6\":4,\"8\":5,\"9\":3,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":3,\"15\":1,\"16\":3,\"17\":3,\"18\":4,\"19\":2,\"21\":2,\"23\":1,\"24\":2,\"26\":5,\"27\":1,\"28\":2,\"30\":2,\"31\":1,\"32\":9,\"34\":1,\"35\":6,\"37\":6,\"38\":3,\"40\":5,\"41\":11}}],[\"页面\",{\"1\":{\"6\":3,\"13\":1,\"14\":2,\"26\":2,\"32\":1}}],[\",\",{\"1\":{\"6\":3,\"8\":1,\"9\":2,\"10\":1,\"11\":1,\"12\":2,\"14\":1,\"16\":4,\"23\":1,\"24\":1,\"26\":9,\"27\":2,\"28\":1,\"29\":2,\"31\":3,\"32\":10,\"33\":2,\"34\":2,\"37\":9,\"38\":2,\"39\":1,\"40\":9,\"41\":15}}],[\"下载\",{\"1\":{\"41\":1}}],[\"下\",{\"1\":{\"6\":1,\"9\":1,\"12\":1,\"16\":1,\"26\":1,\"31\":1,\"32\":2,\"33\":1,\"40\":3,\"41\":1}}],[\"情况\",{\"1\":{\"6\":1,\"12\":1,\"16\":1,\"26\":1,\"31\":1,\"32\":1,\"33\":1,\"41\":1}}],[\"默认\",{\"1\":{\"6\":1,\"16\":1,\"19\":1,\"26\":1,\"29\":1,\"31\":1,\"33\":1}}],[\"默认值\",{\"1\":{\"6\":1,\"7\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"16\":1}}],[\"。\",{\"1\":{\"6\":3,\"7\":1,\"8\":1,\"9\":2,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":3,\"16\":3,\"17\":3,\"18\":3,\"19\":1,\"21\":1,\"22\":1,\"23\":1,\"24\":1,\"26\":6,\"27\":1,\"28\":1,\"29\":1,\"30\":3,\"31\":2,\"32\":9,\"33\":2,\"34\":1,\"35\":2,\"37\":4,\"38\":3,\"40\":5,\"41\":11}}],[\"索引\",{\"0\":{\"26\":1,\"32\":1,\"37\":1},\"1\":{\"6\":5,\"16\":1,\"17\":3,\"18\":3,\"24\":1,\"26\":7,\"32\":3,\"37\":2,\"40\":2,\"41\":4}}],[\",\",{\"1\":{\"6\":4,\"7\":2,\"8\":25,\"9\":7,\"10\":2,\"11\":2,\"12\":4,\"13\":2,\"14\":3,\"15\":2,\"16\":5,\"17\":5,\"18\":6,\"19\":3,\"21\":13,\"22\":14,\"23\":2,\"26\":4,\"31\":6,\"32\":45,\"35\":13,\"37\":28,\"38\":4,\"39\":5,\"40\":2,\"41\":7}}],[\" \",{\"0\":{\"39\":2},\"1\":{\"6\":3,\"7\":2,\"8\":112,\"9\":69,\"10\":4,\"11\":4,\"12\":2,\"13\":7,\"14\":6,\"15\":4,\"16\":6,\"17\":35,\"18\":36,\"19\":103,\"21\":94,\"22\":189,\"23\":4,\"24\":1,\"26\":21,\"27\":2,\"29\":2,\"30\":10,\"31\":22,\"32\":157,\"33\":12,\"34\":6,\"35\":60,\"37\":124,\"38\":33,\"39\":51,\"40\":23,\"41\":9}}],[\":\",{\"1\":{\"6\":2,\"7\":2,\"8\":22,\"9\":11,\"10\":2,\"11\":2,\"12\":2,\"13\":3,\"14\":2,\"15\":2,\"16\":2,\"17\":7,\"18\":7,\"19\":18,\"21\":13,\"22\":32,\"26\":2,\"29\":1,\"32\":35,\"34\":1,\"35\":10,\"37\":18,\"39\":1,\"40\":2}}],[\"类型\",{\"1\":{\"6\":1,\"7\":1,\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"16\":1,\"17\":1,\"18\":1,\"19\":1}}],[\"配置文件\",{\"1\":{\"38\":1}}],[\"配置\",{\"0\":{\"4\":1,\"20\":1,\"35\":1},\"1\":{\"8\":1,\"19\":2,\"26\":1,\"31\":1,\"32\":4,\"33\":1,\"34\":1,\"35\":5,\"40\":1}}],[\"安装\",{\"0\":{\"2\":1}}],[\"插件\",{\"0\":{\"1\":1,\"5\":1},\"1\":{\"6\":1,\"19\":2,\"23\":1,\"24\":1,\"26\":2,\"28\":1,\"29\":1,\"30\":1,\"31\":1,\"32\":1,\"35\":1,\"41\":1}}],[\"使用\",{\"0\":{\"1\":1,\"3\":1,\"39\":1},\"1\":{\"8\":3,\"16\":1,\"23\":2,\"31\":5,\"32\":3,\"37\":6,\"39\":1,\"40\":2,\"41\":1}}]],\"serializationVersion\":2}}")).map(([e,t])=>[e,zt(t,{fields:["h","t","c"],storeFields:["h","t","c"]})]));self.onmessage=({data:{type:e="all",query:t,locale:s,options:n,id:o}})=>{const u=bt[s];e==="suggest"?self.postMessage([e,o,tt(t,u,n)]):e==="search"?self.postMessage([e,o,Z(t,u,n)]):self.postMessage({suggestions:[e,o,tt(t,u,n)],results:[e,o,Z(t,u,n)]})};
//# sourceMappingURL=index.js.map