brief: | i18n.site nunc indagationem plenam inquisitionis textus sustinet.
Articulus hic inducit exsequendam puram frontem-finem technologiam plenam-textu quaerendi, incluso indice inverso constructo ab IndexedDB, praeposita inquisitionis, verbi segmentationis optimae et multi-linguae sustentationis.
Comparatus cum solutionibus existentibus, i18n.site sincerus ante-finis plenus-textus quaerendi est exiguus in magnitudine et velocitate, apta parvis et mediocribus interretialibus ut documenta et diaria, et praesto est offline.
Post aliquot septimanas evolutionis evolutionis i18n.site (a modo static markdown multilingualtranslatione & website instrumentum aedificationis) nunc pura ante-finis quaestionis plenae sustinet.
Hic i18n.site communicabit exsequendam technicam i18n.site
ante-finem plenam texti inquisitionis.
Nam parvae et mediocres websites pure statice, sicut documenta/personalia diaria, aedificant se constructum plenum-textum quaerendi backend nimis gravis est, et servitus gratis plenus-textus quaerendi communior est electio.
Serva sine intermissione quaerendi solutiones in duo latis categoriis cadunt:
Primum, simile algolia.com
Talia officia mercedem ex volumine quaerendi requirunt, et saepe perpendat utentibus in continenti Sinis ob quaestiones ut obsequio website.
Offline adhiberi non potest, in intraneo adhiberi non potest, ac magnas habet limites. Articulus hic non multum disserit.
Secundum est pura ante-finis quaestionis plena-textus.
Nunc, commune pura ante lunrjs
finem includunt ElasticLunr.js plena text lunrjs
lunrjs
Dupliciter indices construendi, et utraque problemata sua habent.
Pre-constructum index files
Quia index continet verba ex omnibus documentis, magna est magnitudine. Quotiens documentum additur vel minuitur, novus index fasciculi onerari debet. Tempus usoris exspectantem augebit Sed et multum consumet.
Onus documenta et indices in musca aedificant
Aedificium indicem computationaliter intensivum est.
Praeter lunrjs
, nonnullae aliae solutiones quaerendi plenae texti sunt, ut :
fusejs Calculare similitudinem chordarum ad quaerendum.
Effectus huius solutionis est maxime pauper et non potest adhiberi ad quaesitum plenum (videatur Fuse.js Longa quaestio plus quam 10 secundis accipit, quam ad optimize eam? ).
TinySearch , utere Bloom colum ad quaerendum, adhiberi non potest pro praeposita inquisitione (exempli gratia, intra goo
, quaerere good
, google
), nec potest similem perfectionem automaticam consequi.
Propter defectus solutionum existentium, i18n.site
nova evolvit solutionem textus ante-finis plenam inquisitionis, quae habet sequentes notas :
gzip
est 6.9KB
(pro comparatione, magnitudo lunrjs
est 25KB
).indexedb
, qui memoriam minuit et celeriter est.Infra, i18n.site
singula exsequenda technica singillatim introducentur.
Verbum segmentationis utitur verbo patrii segmentationis Intl.Segmenter
navigatoris, et omnes navigatores amet hoc interfaciem sustinent.
Verbum justo coffeescript
codice talis est
SEG = new Intl.Segmenter 0, granularity: "word"
seg = (txt) =>
r = []
for {segment} from SEG.segment(txt)
for i from segment.split('.')
i = i.trim()
if i and !'| `'.includes(i) and !/\p{P}/u.test(i)
r.push i
r
export default seg
export segqy = (q) =>
seg q.toLocaleLowerCase()
in:
/\p{P}/
expressio regularis quae interpunctionis notas aequet. Imprimis symbola adaptantia includunt: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _
{ | } . .</p><ul><li>
split('.')est quia
Firefoxverbi segmentatio non navigatoris segmentum
. ` .
5 object tabulae repono in IndexedDB
creatae sunt :
word
: id -doc
: id - url -docWord
: id - idprefix
: - idrindex
: id - id :In ordine documentorum transi url
et numeri versionis ver
et quaere num documentum in tabula existat doc
Si id non est, inverso indice crea. simul inverso indice pro iis documentis, quae non latae sunt, auferto.
Hoc modo, indexing incrementalis praestari potest et quantitas calculi reducitur.
Ante progress + finem commercium, progressus onerationis vectis index / potest ad css pigritiam cum primum loading .
The project is idb based on the asynchronous encapsulation of IndexedDB
IndexedDB legit et scribit asynchroni sunt. Cum indice creando, documenta simul onerentur indicem creare.
Ut notitias partiales vitet detrimentum scripturae competitive, referre potes ad coffeescript
codicem infra et adde ing
cella inter legendi et scribentis intercipiendi certatim scribens.
pusher = =>
ing = new Map()
(table, id, val)=>
id_set = ing.get(id)
if id_set
id_set.add val
return
id_set = new Set([val])
ing.set id, id_set
pre = await table.get(id)
li = pre?.li or []
loop
to_add = [...id_set]
li.push(...to_add)
await table.put({id,li})
for i from to_add
id_set.delete i
if not id_set.size
ing.delete id
break
return
rindexPush = pusher()
prefixPush = pusher()
Investigatio prima segmentum habebit keywords quae ab usore inita sunt.
Fac esse N
verba post verba segmentationis. Cum proventus proventus, proventus omnes keywords primum reddentur, deinde proventus in quibus N-1
, N-2
, ...., 1
keywords reddentur.
Proventus quaesiti primum subtiliter investigandi monstrantur et eventus qui postea onerantur (click onus magis button) receptui rate invigilant.
Ad celeritatem responsionis emendandam, inquisitionis utitur yield
generans ad onerationem efficiendam, et limit
tempus redit effectus queritur.
Nota quod quotienscumque post yield
quaeras, inquisitionem transactionis IndexedDB
recludere debes.
Ut proventus investigationis exhibeas dum usor capsas est, exempli gratia, cum wor
intratur, verba praefixa sunt wor
sicut words
et work
monstrantur.
Acinum inquisitio adhibebit prefix
tabula ad verba novissimae verbi segmentorum ad inveniendum omnia verba cum ea praefixa, et ordine perquire.
Munus anti- agitationis debounce
adhibetur commercium ante-finem (ut sequitur impletum) ad frequentiam user initus excitatarum inquisitionum reducere et summam calculi minuere.
export default (wait, func) => {
var timeout;
return function(...args) {
clearTimeout(timeout);
timeout = setTimeout(func.bind(this, ...args), wait);
};
}
Index tabulae textum originalem non refert, verba tantum, quae quantitatem repositionis minuunt.
Quaesitus illustrans eventus requirit textum originalem reloading, et service worker
adaptans postulationes retis repetitas vitare potest.
Eodem tempore, quia service worker
omnia vasa cella, semel uter indagat, totum locum, inclusa investigatione, praesto est offline.
i18n.site
pura ante-finis quaestionis solutio pro MarkDown
documentis optimized est.
Cum proventus investigationis exponendo, nomen capituli exponetur et capitulum navigabitur cum clicked.
Inversa verba plena inquisitionis pure in fine anteriori, nullo servo requiritur. Valde convenit pro parvis et mediocribus interretialibus ut documenta et diaria personalia.
i18n.site
fons apertus per se evoluta pura inquisitionis ante-finis, magnitudine parva et celeriter responsio, defectus fontis puri ante-finis plenae inquisitionis solvit ac meliori usuario experientiam praebet.