mirror of
https://github.com/danbulant/api_docs
synced 2026-07-05 02:50:33 +00:00
Update lunr.js to version 0.5.7
This commit is contained in:
parent
3a236aa81e
commit
b1e0ff5d94
1 changed files with 1761 additions and 1731 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
/**
|
/**
|
||||||
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.2
|
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.7
|
||||||
* Copyright (C) 2014 Oliver Nightingale
|
* Copyright (C) 2014 Oliver Nightingale
|
||||||
* MIT Licensed
|
* MIT Licensed
|
||||||
* @license
|
* @license
|
||||||
|
|
@ -56,7 +56,7 @@ var lunr = function (config) {
|
||||||
return idx
|
return idx
|
||||||
}
|
}
|
||||||
|
|
||||||
lunr.version = "0.5.2"
|
lunr.version = "0.5.7"
|
||||||
/*!
|
/*!
|
||||||
* lunr.utils
|
* lunr.utils
|
||||||
* Copyright (C) 2014 Oliver Nightingale
|
* Copyright (C) 2014 Oliver Nightingale
|
||||||
|
|
@ -190,7 +190,10 @@ lunr.tokenizer = function (obj) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return str
|
return str
|
||||||
.split(/\s+/)
|
.split(/(?:\s+|\-)/)
|
||||||
|
.filter(function (token) {
|
||||||
|
return !!token
|
||||||
|
})
|
||||||
.map(function (token) {
|
.map(function (token) {
|
||||||
return token.toLowerCase()
|
return token.toLowerCase()
|
||||||
})
|
})
|
||||||
|
|
@ -1240,8 +1243,8 @@ lunr.Store.load = function (serialisedData) {
|
||||||
* @memberOf Store
|
* @memberOf Store
|
||||||
*/
|
*/
|
||||||
lunr.Store.prototype.set = function (id, tokens) {
|
lunr.Store.prototype.set = function (id, tokens) {
|
||||||
|
if (!this.has(id)) this.length++
|
||||||
this.store[id] = tokens
|
this.store[id] = tokens
|
||||||
this.length = Object.keys(this.store).length
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1352,7 +1355,33 @@ lunr.stemmer = (function(){
|
||||||
mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
|
mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
|
||||||
s_v = "^(" + C + ")?" + v; // vowel in stem
|
s_v = "^(" + C + ")?" + v; // vowel in stem
|
||||||
|
|
||||||
return function (w) {
|
var re_mgr0 = new RegExp(mgr0);
|
||||||
|
var re_mgr1 = new RegExp(mgr1);
|
||||||
|
var re_meq1 = new RegExp(meq1);
|
||||||
|
var re_s_v = new RegExp(s_v);
|
||||||
|
|
||||||
|
var re_1a = /^(.+?)(ss|i)es$/;
|
||||||
|
var re2_1a = /^(.+?)([^s])s$/;
|
||||||
|
var re_1b = /^(.+?)eed$/;
|
||||||
|
var re2_1b = /^(.+?)(ed|ing)$/;
|
||||||
|
var re_1b_2 = /.$/;
|
||||||
|
var re2_1b_2 = /(at|bl|iz)$/;
|
||||||
|
var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$");
|
||||||
|
var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||||
|
|
||||||
|
var re_1c = /^(.+?[^aeiou])y$/;
|
||||||
|
var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
|
||||||
|
|
||||||
|
var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
|
||||||
|
|
||||||
|
var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
|
||||||
|
var re2_4 = /^(.+?)(s|t)(ion)$/;
|
||||||
|
|
||||||
|
var re_5 = /^(.+?)e$/;
|
||||||
|
var re_5_1 = /ll$/;
|
||||||
|
var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||||
|
|
||||||
|
var porterStemmer = function porterStemmer(w) {
|
||||||
var stem,
|
var stem,
|
||||||
suffix,
|
suffix,
|
||||||
firstch,
|
firstch,
|
||||||
|
|
@ -1369,106 +1398,105 @@ lunr.stemmer = (function(){
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 1a
|
// Step 1a
|
||||||
re = /^(.+?)(ss|i)es$/;
|
re = re_1a
|
||||||
re2 = /^(.+?)([^s])s$/;
|
re2 = re2_1a;
|
||||||
|
|
||||||
if (re.test(w)) { w = w.replace(re,"$1$2"); }
|
if (re.test(w)) { w = w.replace(re,"$1$2"); }
|
||||||
else if (re2.test(w)) { w = w.replace(re2,"$1$2"); }
|
else if (re2.test(w)) { w = w.replace(re2,"$1$2"); }
|
||||||
|
|
||||||
// Step 1b
|
// Step 1b
|
||||||
re = /^(.+?)eed$/;
|
re = re_1b;
|
||||||
re2 = /^(.+?)(ed|ing)$/;
|
re2 = re2_1b;
|
||||||
if (re.test(w)) {
|
if (re.test(w)) {
|
||||||
var fp = re.exec(w);
|
var fp = re.exec(w);
|
||||||
re = new RegExp(mgr0);
|
re = re_mgr0;
|
||||||
if (re.test(fp[1])) {
|
if (re.test(fp[1])) {
|
||||||
re = /.$/;
|
re = re_1b_2;
|
||||||
w = w.replace(re,"");
|
w = w.replace(re,"");
|
||||||
}
|
}
|
||||||
} else if (re2.test(w)) {
|
} else if (re2.test(w)) {
|
||||||
var fp = re2.exec(w);
|
var fp = re2.exec(w);
|
||||||
stem = fp[1];
|
stem = fp[1];
|
||||||
re2 = new RegExp(s_v);
|
re2 = re_s_v;
|
||||||
if (re2.test(stem)) {
|
if (re2.test(stem)) {
|
||||||
w = stem;
|
w = stem;
|
||||||
re2 = /(at|bl|iz)$/;
|
re2 = re2_1b_2;
|
||||||
re3 = new RegExp("([^aeiouylsz])\\1$");
|
re3 = re3_1b_2;
|
||||||
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
re4 = re4_1b_2;
|
||||||
if (re2.test(w)) { w = w + "e"; }
|
if (re2.test(w)) { w = w + "e"; }
|
||||||
else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); }
|
else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); }
|
||||||
else if (re4.test(w)) { w = w + "e"; }
|
else if (re4.test(w)) { w = w + "e"; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 1c
|
// Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)
|
||||||
re = /^(.+?)y$/;
|
re = re_1c;
|
||||||
if (re.test(w)) {
|
if (re.test(w)) {
|
||||||
var fp = re.exec(w);
|
var fp = re.exec(w);
|
||||||
stem = fp[1];
|
stem = fp[1];
|
||||||
re = new RegExp(s_v);
|
w = stem + "i";
|
||||||
if (re.test(stem)) { w = stem + "i"; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 2
|
// Step 2
|
||||||
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
|
re = re_2;
|
||||||
if (re.test(w)) {
|
if (re.test(w)) {
|
||||||
var fp = re.exec(w);
|
var fp = re.exec(w);
|
||||||
stem = fp[1];
|
stem = fp[1];
|
||||||
suffix = fp[2];
|
suffix = fp[2];
|
||||||
re = new RegExp(mgr0);
|
re = re_mgr0;
|
||||||
if (re.test(stem)) {
|
if (re.test(stem)) {
|
||||||
w = stem + step2list[suffix];
|
w = stem + step2list[suffix];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 3
|
// Step 3
|
||||||
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
|
re = re_3;
|
||||||
if (re.test(w)) {
|
if (re.test(w)) {
|
||||||
var fp = re.exec(w);
|
var fp = re.exec(w);
|
||||||
stem = fp[1];
|
stem = fp[1];
|
||||||
suffix = fp[2];
|
suffix = fp[2];
|
||||||
re = new RegExp(mgr0);
|
re = re_mgr0;
|
||||||
if (re.test(stem)) {
|
if (re.test(stem)) {
|
||||||
w = stem + step3list[suffix];
|
w = stem + step3list[suffix];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 4
|
// Step 4
|
||||||
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
|
re = re_4;
|
||||||
re2 = /^(.+?)(s|t)(ion)$/;
|
re2 = re2_4;
|
||||||
if (re.test(w)) {
|
if (re.test(w)) {
|
||||||
var fp = re.exec(w);
|
var fp = re.exec(w);
|
||||||
stem = fp[1];
|
stem = fp[1];
|
||||||
re = new RegExp(mgr1);
|
re = re_mgr1;
|
||||||
if (re.test(stem)) {
|
if (re.test(stem)) {
|
||||||
w = stem;
|
w = stem;
|
||||||
}
|
}
|
||||||
} else if (re2.test(w)) {
|
} else if (re2.test(w)) {
|
||||||
var fp = re2.exec(w);
|
var fp = re2.exec(w);
|
||||||
stem = fp[1] + fp[2];
|
stem = fp[1] + fp[2];
|
||||||
re2 = new RegExp(mgr1);
|
re2 = re_mgr1;
|
||||||
if (re2.test(stem)) {
|
if (re2.test(stem)) {
|
||||||
w = stem;
|
w = stem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 5
|
// Step 5
|
||||||
re = /^(.+?)e$/;
|
re = re_5;
|
||||||
if (re.test(w)) {
|
if (re.test(w)) {
|
||||||
var fp = re.exec(w);
|
var fp = re.exec(w);
|
||||||
stem = fp[1];
|
stem = fp[1];
|
||||||
re = new RegExp(mgr1);
|
re = re_mgr1;
|
||||||
re2 = new RegExp(meq1);
|
re2 = re_meq1;
|
||||||
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
re3 = re3_5;
|
||||||
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
|
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
|
||||||
w = stem;
|
w = stem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
re = /ll$/;
|
re = re_5_1;
|
||||||
re2 = new RegExp(mgr1);
|
re2 = re_mgr1;
|
||||||
if (re.test(w) && re2.test(w)) {
|
if (re.test(w) && re2.test(w)) {
|
||||||
re = /.$/;
|
re = re_1b_2;
|
||||||
w = w.replace(re,"");
|
w = w.replace(re,"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1479,7 +1507,9 @@ lunr.stemmer = (function(){
|
||||||
}
|
}
|
||||||
|
|
||||||
return w;
|
return w;
|
||||||
}
|
};
|
||||||
|
|
||||||
|
return porterStemmer;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')
|
lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')
|
||||||
|
|
@ -1851,7 +1881,7 @@ lunr.TokenStore.prototype.toJSON = function () {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* export the module via AMD, CommonnJS or as a browser global
|
* export the module via AMD, CommonJS or as a browser global
|
||||||
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
||||||
*/
|
*/
|
||||||
;(function (root, factory) {
|
;(function (root, factory) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue