Changeset f66f990 in flex_extract.git for documentation/Sphinx/build/html/_static/searchtools.js
- Timestamp:
- Mar 8, 2019, 10:00:34 AM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- b4a4777
- Parents:
- 8778c5a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
documentation/Sphinx/build/html/_static/searchtools.js
r2625ca8 rf66f990 1 1 /* 2 * searchtools.js 2 * searchtools.js_t 3 3 * ~~~~~~~~~~~~~~~~ 4 4 * … … 10 10 */ 11 11 12 if (!Scorer) { 13 /** 14 * Simple result scoring code. 15 */16 var Scorer = {17 // Implement the following function to further tweak the score for each result 18 // The function takes a result array [filename, title, anchor, descr, score] 19 // and returns the new score.20 /*21 score: function(result) {22 return result[4];23 },24 */25 26 // query matches the full name of an object27 objNameMatch: 11,28 // or matches in the last dotted part of the object name29 o bjPartialMatch: 6,30 // Additive scores depending on the priority of the object31 objPrio: {0: 15, // used to be importantResults32 1: 5, // used to be objectResults33 2: -5}, // used to be unimportantResults34 // Used when the priority is not in the mapping.35 objPrioDefault: 0,36 37 // query found in title38 title: 15,39 // query found in terms40 term: 512 13 /* Non-minified version JS is _stemmer.js if file is provided */ 14 /** 15 * Porter Stemmer 16 */ 17 var Stemmer = function() { 18 19 var step2list = { 20 ational: 'ate', 21 tional: 'tion', 22 enci: 'ence', 23 anci: 'ance', 24 izer: 'ize', 25 bli: 'ble', 26 alli: 'al', 27 entli: 'ent', 28 eli: 'e', 29 ousli: 'ous', 30 ization: 'ize', 31 ation: 'ate', 32 ator: 'ate', 33 alism: 'al', 34 iveness: 'ive', 35 fulness: 'ful', 36 ousness: 'ous', 37 aliti: 'al', 38 iviti: 'ive', 39 biliti: 'ble', 40 logi: 'log' 41 41 }; 42 } 43 44 if (!splitQuery) { 45 function splitQuery(query) { 46 return query.split(/\s+/); 42 43 var step3list = { 44 icate: 'ic', 45 ative: '', 46 alize: 'al', 47 iciti: 'ic', 48 ical: 'ic', 49 ful: '', 50 ness: '' 51 }; 52 53 var c = "[^aeiou]"; // consonant 54 var v = "[aeiouy]"; // vowel 55 var C = c + "[^aeiouy]*"; // consonant sequence 56 var V = v + "[aeiou]*"; // vowel sequence 57 58 var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 59 var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 60 var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 61 var s_v = "^(" + C + ")?" + v; // vowel in stem 62 63 this.stemWord = function (w) { 64 var stem; 65 var suffix; 66 var firstch; 67 var origword = w; 68 69 if (w.length < 3) 70 return w; 71 72 var re; 73 var re2; 74 var re3; 75 var re4; 76 77 firstch = w.substr(0,1); 78 if (firstch == "y") 79 w = firstch.toUpperCase() + w.substr(1); 80 81 // Step 1a 82 re = /^(.+?)(ss|i)es$/; 83 re2 = /^(.+?)([^s])s$/; 84 85 if (re.test(w)) 86 w = w.replace(re,"$1$2"); 87 else if (re2.test(w)) 88 w = w.replace(re2,"$1$2"); 89 90 // Step 1b 91 re = /^(.+?)eed$/; 92 re2 = /^(.+?)(ed|ing)$/; 93 if (re.test(w)) { 94 var fp = re.exec(w); 95 re = new RegExp(mgr0); 96 if (re.test(fp[1])) { 97 re = /.$/; 98 w = w.replace(re,""); 99 } 100 } 101 else if (re2.test(w)) { 102 var fp = re2.exec(w); 103 stem = fp[1]; 104 re2 = new RegExp(s_v); 105 if (re2.test(stem)) { 106 w = stem; 107 re2 = /(at|bl|iz)$/; 108 re3 = new RegExp("([^aeiouylsz])\\1$"); 109 re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); 110 if (re2.test(w)) 111 w = w + "e"; 112 else if (re3.test(w)) { 113 re = /.$/; 114 w = w.replace(re,""); 115 } 116 else if (re4.test(w)) 117 w = w + "e"; 118 } 119 } 120 121 // Step 1c 122 re = /^(.+?)y$/; 123 if (re.test(w)) { 124 var fp = re.exec(w); 125 stem = fp[1]; 126 re = new RegExp(s_v); 127 if (re.test(stem)) 128 w = stem + "i"; 129 } 130 131 // Step 2 132 re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; 133 if (re.test(w)) { 134 var fp = re.exec(w); 135 stem = fp[1]; 136 suffix = fp[2]; 137 re = new RegExp(mgr0); 138 if (re.test(stem)) 139 w = stem + step2list[suffix]; 140 } 141 142 // Step 3 143 re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; 144 if (re.test(w)) { 145 var fp = re.exec(w); 146 stem = fp[1]; 147 suffix = fp[2]; 148 re = new RegExp(mgr0); 149 if (re.test(stem)) 150 w = stem + step3list[suffix]; 151 } 152 153 // Step 4 154 re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; 155 re2 = /^(.+?)(s|t)(ion)$/; 156 if (re.test(w)) { 157 var fp = re.exec(w); 158 stem = fp[1]; 159 re = new RegExp(mgr1); 160 if (re.test(stem)) 161 w = stem; 162 } 163 else if (re2.test(w)) { 164 var fp = re2.exec(w); 165 stem = fp[1] + fp[2]; 166 re2 = new RegExp(mgr1); 167 if (re2.test(stem)) 168 w = stem; 169 } 170 171 // Step 5 172 re = /^(.+?)e$/; 173 if (re.test(w)) { 174 var fp = re.exec(w); 175 stem = fp[1]; 176 re = new RegExp(mgr1); 177 re2 = new RegExp(meq1); 178 re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); 179 if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) 180 w = stem; 181 } 182 re = /ll$/; 183 re2 = new RegExp(mgr1); 184 if (re.test(w) && re2.test(w)) { 185 re = /.$/; 186 w = w.replace(re,""); 187 } 188 189 // and turn initial Y back to y 190 if (firstch == "y") 191 w = firstch.toLowerCase() + w.substr(1); 192 return w; 47 193 } 48 194 } 195 196 197 198 /** 199 * Simple result scoring code. 200 */ 201 var Scorer = { 202 // Implement the following function to further tweak the score for each result 203 // The function takes a result array [filename, title, anchor, descr, score] 204 // and returns the new score. 205 /* 206 score: function(result) { 207 return result[4]; 208 }, 209 */ 210 211 // query matches the full name of an object 212 objNameMatch: 11, 213 // or matches in the last dotted part of the object name 214 objPartialMatch: 6, 215 // Additive scores depending on the priority of the object 216 objPrio: {0: 15, // used to be importantResults 217 1: 5, // used to be objectResults 218 2: -5}, // used to be unimportantResults 219 // Used when the priority is not in the mapping. 220 objPrioDefault: 0, 221 222 // query found in title 223 title: 15, 224 // query found in terms 225 term: 5 226 }; 227 228 229 230 231 232 var splitChars = (function() { 233 var result = {}; 234 var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, 235 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, 236 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, 237 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, 238 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, 239 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, 240 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, 241 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, 242 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, 243 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; 244 var i, j, start, end; 245 for (i = 0; i < singles.length; i++) { 246 result[singles[i]] = true; 247 } 248 var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], 249 [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], 250 [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], 251 [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], 252 [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], 253 [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], 254 [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], 255 [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], 256 [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], 257 [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], 258 [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], 259 [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], 260 [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], 261 [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], 262 [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], 263 [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], 264 [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], 265 [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], 266 [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], 267 [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], 268 [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], 269 [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], 270 [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], 271 [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], 272 [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], 273 [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], 274 [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], 275 [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], 276 [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], 277 [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], 278 [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], 279 [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], 280 [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], 281 [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], 282 [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], 283 [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], 284 [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], 285 [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], 286 [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], 287 [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], 288 [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], 289 [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], 290 [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], 291 [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], 292 [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], 293 [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], 294 [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], 295 [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], 296 [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; 297 for (i = 0; i < ranges.length; i++) { 298 start = ranges[i][0]; 299 end = ranges[i][1]; 300 for (j = start; j <= end; j++) { 301 result[j] = true; 302 } 303 } 304 return result; 305 })(); 306 307 function splitQuery(query) { 308 var result = []; 309 var start = -1; 310 for (var i = 0; i < query.length; i++) { 311 if (splitChars[query.charCodeAt(i)]) { 312 if (start !== -1) { 313 result.push(query.slice(start, i)); 314 start = -1; 315 } 316 } else if (start === -1) { 317 start = i; 318 } 319 } 320 if (start !== -1) { 321 result.push(query.slice(start)); 322 } 323 return result; 324 } 325 326 327 49 328 50 329 /** … … 139 418 query : function(query) { 140 419 var i; 141 var stopwords = DOCUMENTATION_OPTIONS.SEARCH_LANGUAGE_STOP_WORDS;420 var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; 142 421 143 422 // stem the searchterms and add them to the correct list
Note: See TracChangeset
for help on using the changeset viewer.