brief: | i18n.site ବର୍ତ୍ତମାନ ସର୍ଭରହୀନ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନକୁ ସମର୍ଥନ କରେ |

ଏହି ଆର୍ଟିକିଲ୍ ଇଣ୍ଡେକ୍ସଡେଡିବି ଦ୍ୱାରା ନିର୍ମିତ ଓଲଟା ଇଣ୍ଡେକ୍ସ, ପ୍ରିଫିକ୍ସ ସର୍ଚ୍ଚ, ୱାର୍ଡ ସେଗମେଣ୍ଟେସନ୍ ଅପ୍ଟିମାଇଜେସନ୍ ଏବଂ ମଲ୍ଟି ଲାଙ୍ଗୁଏଜ୍ ସପୋର୍ଟ ସହିତ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସର୍ଚ୍ଚ ଟେକ୍ନୋଲୋଜିର କାର୍ଯ୍ୟକାରିତାକୁ ଉପସ୍ଥାପନ କରେ |

ବିଦ୍ୟମାନ ସମାଧାନଗୁଡ଼ିକ ତୁଳନାରେ, i18n.site ର ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସନ୍ଧାନ ଆକାରରେ ଛୋଟ ଏବଂ ଦ୍ରୁତ, ଡକ୍ୟୁମେଣ୍ଟ ଏବଂ ବ୍ଲଗ୍ ପରି ଛୋଟ ଏବଂ ମଧ୍ୟମ ଆକାରର ୱେବସାଇଟ୍ ପାଇଁ ଉପଯୁକ୍ତ ଏବଂ ଅଫଲାଇନରେ ଉପଲବ୍ଧ |


ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଓଲଟା ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ |

କ୍ରମ |

& ଅନେକ ସପ୍ତାହ markdown , i18n.site

ଏହି i18n.site ସନ୍ଧାନ ପ୍ରଭାବକୁ ଅନୁଭବ କରିବା ପାଇଁ i18n.site ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନର ବ technical ଷୟିକ କାର୍ଯ୍ୟକାରିତା ଅଂଶୀଦାର କରିବ!

କୋଡ୍ ଖୋଲା : ସନ୍ଧାନ କର୍ଣ୍ଣଲ / ଇଣ୍ଟରାକ୍ଟିଭ୍ ଇଣ୍ଟରଫେସ୍ |

ସର୍ଭରହୀନ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନଗୁଡ଼ିକର ସମୀକ୍ଷା |

ଛୋଟ ଏବଂ ମଧ୍ୟମ ଆକାରର ଶୁଦ୍ଧ ଷ୍ଟାଟିକ୍ ୱେବସାଇଟ୍ ଯେପରିକି ଡକ୍ୟୁମେଣ୍ଟ୍ / ବ୍ୟକ୍ତିଗତ ବ୍ଲଗ୍, ଏକ ସ୍ୱ-ନିର୍ମିତ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ବ୍ୟାକେଣ୍ଡ୍ ନିର୍ମାଣ କରିବା ଅତ୍ୟଧିକ ଭାରୀ, ଏବଂ ସେବାମୁକ୍ତ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ହେଉଛି ଅଧିକ ସାଧାରଣ ପସନ୍ଦ |

ସର୍ଭରହୀନ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନ ଦୁଇଟି ବ୍ୟାପକ ବର୍ଗରେ ଅଛି:

ପ୍ରଥମେ, ସମାନ algolia.com ତୃତୀୟ-ପକ୍ଷ ସନ୍ଧାନ ସେବା ପ୍ରଦାନକାରୀମାନେ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ପାଇଁ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଉପାଦାନଗୁଡିକ ପ୍ରଦାନ କରନ୍ତି!

ସର୍ଚ୍ଚ ଭଲ୍ୟୁମ ଉପରେ ଆଧାର କରି ଏହିପରି ସେବାଗୁଡିକ ଦେୟ ଆବଶ୍ୟକ କରନ୍ତି ଏବଂ ୱେବସାଇଟ୍ ଅନୁପାଳନ ଭଳି ସମସ୍ୟା ହେତୁ ମଧ୍ୟପ୍ରଦେଶର ଚାଇନାର ଉପଭୋକ୍ତାମାନଙ୍କ ପାଇଁ ପ୍ରାୟତ un ଉପଲବ୍ଧ ନଥାଏ |

ଏହାକୁ ଅଫଲାଇନରେ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ, ଇଣ୍ଟରନେଟରେ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ, ଏବଂ ଏହାର ବହୁତ ସୀମିତତା ଅଛି | ଏହି ପ୍ରବନ୍ଧଟି ଅଧିକ ଆଲୋଚନା କରେ ନାହିଁ |

ଦ୍ୱିତୀୟଟି ହେଉଛି ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସନ୍ଧାନ |

ବର୍ତ୍ତମାନ, ସାଧାରଣ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ୍ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସନ୍ଧାନଗୁଡିକ ଅନ୍ତର୍ଭୂକ୍ତ lunrjs ଏବଂ ElasticLunr.js ( lunrjs ଦଳୀୟ ବିକାଶ ଉପରେ ଆଧାର କରି)!

lunrjs ଇଣ୍ଡେକ୍ସ ଗଠନ କରିବାର ଦୁଇଟି ଉପାୟ ଅଛି ଏବଂ ଉଭୟଙ୍କର ନିଜସ୍ୱ ସମସ୍ୟା ଅଛି |

  1. ପୂର୍ବ ନିର୍ମିତ ଇଣ୍ଡେକ୍ସ ଫାଇଲଗୁଡ଼ିକ |

    କାରଣ ସୂଚକାଙ୍କରେ ସମସ୍ତ ଡକ୍ୟୁମେଣ୍ଟରୁ ଶବ୍ଦ ଅଛି, ଏହା ଆକାରରେ ବଡ଼ | ଯେତେବେଳେ ବି ଏକ ଡକ୍ୟୁମେଣ୍ଟ୍ ଯୋଡାଯାଏ କିମ୍ବା ରୂପାନ୍ତରିତ ହୁଏ, ଏକ ନୂତନ ଇଣ୍ଡେକ୍ସ ଫାଇଲ୍ ଲୋଡ୍ ହେବା ଜରୁରୀ | ଏହା ଉପଭୋକ୍ତାଙ୍କର ଅପେକ୍ଷା ସମୟ ବ increase ାଇବ ଏବଂ ବହୁ ବ୍ୟାଣ୍ଡୱିଡଥ୍ ଖାଇବ |

  2. ଡକ୍ୟୁମେଣ୍ଟ୍ ଲୋଡ୍ କରନ୍ତୁ ଏବଂ ଫ୍ଲାଇରେ ଇଣ୍ଡେକ୍ସ ନିର୍ମାଣ କରନ୍ତୁ |

    ଏକ ଇଣ୍ଡେକ୍ସ ନିର୍ମାଣ ହେଉଛି ଏକ ଗଣନାତ୍ମକ ଭାବରେ ଘନିଷ୍ଠ କାର୍ଯ୍ୟ, ପ୍ରତ୍ୟେକ ଥର ଆପଣ ପ୍ରବେଶ କରିବା ସମୟରେ ସୂଚକାଙ୍କ ପୁନ u ନିର୍ମାଣ କରିବା ସ୍ପଷ୍ଟ ବିଳମ୍ବ ଏବଂ ଖରାପ ବ୍ୟବହାରକାରୀ ଅଭିଜ୍ଞତା ସୃଷ୍ଟି କରିବ |


lunrjs ସହିତ, ଅନ୍ୟ କିଛି ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନ ଅଛି, ଯେପରିକି :

ସନ୍ଧାନ କରିବାକୁ ଷ୍ଟ୍ରିଙ୍ଗଗୁଡ଼ିକ ମଧ୍ୟରେ ସମାନତା ଗଣନା କର fusejs

ଏହି ସମାଧାନର କାର୍ଯ୍ୟଦକ୍ଷତା ଅତ୍ୟନ୍ତ ଖରାପ ଏବଂ ପୂର୍ଣ୍ଣ ପାଠ୍ୟ ସନ୍ଧାନ ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ (ଦେଖନ୍ତୁ Fuse.js ଲମ୍ବା ଜିଜ୍ଞାସା 10 ସେକେଣ୍ଡରୁ ଅଧିକ ସମୟ ନେଇଥାଏ, ଏହାକୁ କିପରି ଅପ୍ଟିମାଇଜ୍ କରାଯାଏ? )

ସନ୍ଧାନ କରିବାକୁ ବ୍ଲୁମ୍ ଫିଲ୍ଟର୍ ବ୍ୟବହାର କରନ୍ତୁ, ଉପସର୍ଗ ସନ୍ଧାନ ପାଇଁ ବ୍ୟବହୃତ ହୋଇପାରିବ ନାହିଁ (ଉଦାହରଣ ସ୍ୱରୂପ, goo ପ୍ରବେଶ TinySearch , ସନ୍ଧାନ good , google ), ଏବଂ ସମାନ ସ୍ୱୟଂଚାଳିତ ସମାପ୍ତି ପ୍ରଭାବ ହାସଲ କରିପାରିବ ନାହିଁ |

ବିଦ୍ୟମାନ ସମାଧାନର ତ୍ରୁଟି ହେତୁ, i18n.site ଏକ ନୂତନ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନ ବିକଶିତ କଲା, ଯାହାର ନିମ୍ନଲିଖିତ ଗୁଣ ଅଛି :

  1. ମଲ୍ଟି ଭାଷା ସନ୍ଧାନକୁ ସମର୍ଥନ କରେ ଏବଂ ଆକାରରେ ଛୋଟ ଅଟେ gzip ପ୍ୟାକେଜିଂ ପରେ ସର୍ଚ୍ଚ କର୍ଣ୍ଣଲର ଆକାର 6.9KB ଅଟେ (ତୁଳନା ପାଇଁ, lunrjs ର ଆକାର 25KB )
  2. indexedb ଉପରେ ଆଧାର କରି ଏକ ଓଲଟା ଇଣ୍ଡେକ୍ସ ନିର୍ମାଣ କରନ୍ତୁ, ଯାହା କମ୍ ମେମୋରୀ ନେଇଥାଏ ଏବଂ ଦ୍ରୁତ ଅଟେ |
  3. ଯେତେବେଳେ ଡକ୍ୟୁମେଣ୍ଟଗୁଡିକ ଯୋଡାଯାଏ / ରୂପାନ୍ତରିତ ହୁଏ, କେବଳ ଯୋଡା ଯାଇଥିବା କିମ୍ବା ପରିବର୍ତ୍ତିତ ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକ ପୁନ - ସୂଚୀବଦ୍ଧ ହୁଏ, ଗଣନା ପରିମାଣ ହ୍ରାସ ହୁଏ |
  4. ଉପସର୍ଗ ସନ୍ଧାନକୁ ସମର୍ଥନ କରେ ଏବଂ ଉପଭୋକ୍ତା ଟାଇପ୍ କରୁଥିବା ସମୟରେ ପ୍ରକୃତ ସମୟରେ ସନ୍ଧାନ ଫଳାଫଳ ପ୍ରଦର୍ଶନ କରିପାରିବ |
  5. ଅଫଲାଇନରେ ଉପଲବ୍ଧ |

ନିମ୍ନରେ, i18n.site technical ଷୟିକ କାର୍ଯ୍ୟକାରିତା ବିବରଣୀ ବିସ୍ତୃତ ଭାବରେ ଉପସ୍ଥାପିତ ହେବ |

ବହୁଭାଷୀ ଶବ୍ଦ ବିଭାଗ |

ୱାର୍ଡ ସେଗମେଣ୍ଟେସନ୍ ବ୍ରାଉଜରର ଦେଶୀ ଶବ୍ଦ ସେଗମେଣ୍ଟେସନ୍ Intl.Segmenter ବ୍ୟବହାର କରେ ଏବଂ ସମସ୍ତ ମୁଖ୍ୟ ସ୍ରୋତ ବ୍ରାଉଜର୍ ଏହି ଇଣ୍ଟରଫେସକୁ ସମର୍ଥନ କରେ |

ଶବ୍ଦ ସେଗମେଣ୍ଟେସନ୍ coffeescript କୋଡ୍ ନିମ୍ନଲିଖିତ ଅଟେ |

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()

ରେ:

ସୂଚକାଙ୍କ ନିର୍ମାଣ

IndexedDB ରେ 5 ଅବଜେକ୍ଟ ଷ୍ଟୋରେଜ୍ ଟେବୁଲ୍ ସୃଷ୍ଟି କରାଯାଇଥିଲା :

ଡକ୍ୟୁମେଣ୍ଟ୍ url ଏବଂ ସଂସ୍କରଣ ନମ୍ବର ver ର ଆରେ ପାସ୍ କରନ୍ତୁ, ଏବଂ ଟେବୁଲ୍ doc ରେ ଡକ୍ୟୁମେଣ୍ଟ୍ ଅଛି କି ନାହିଁ ସନ୍ଧାନ କରନ୍ତୁ | ଯଦି ଏହା ନାହିଁ, ତେବେ ଏକ ଓଲଟା ସୂଚକାଙ୍କ ସୃଷ୍ଟି କରନ୍ତୁ | ସେହି ସମୟରେ, ସେହି ଡକ୍ୟୁମେଣ୍ଟଗୁଡିକ ପାଇଁ ଓଲଟା ସୂଚକାଙ୍କ ଅପସାରଣ କର, ଯାହା ପାସ୍ ହୋଇନଥିଲା |

ଏହିପରି, ବର୍ଦ୍ଧିତ ସୂଚକାଙ୍କ ହାସଲ ହୋଇପାରିବ ଏବଂ ଗଣନା ପରିମାଣ କମିଯାଏ |

ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଇଣ୍ଟରାକେସନ୍ css , ଇଣ୍ଡେକ୍ସର ଲୋଡିଙ୍ଗ୍ ପ୍ରଗତି ବାର୍ ପ୍ରଥମ ଥର / ଲୋଡ୍ କରିବା ସମୟରେ ଲଗ୍ ଏଡ଼ାଇବା ପାଇଁ ପ୍ରଦର୍ଶିତ ହୋଇପାରିବ progress +

ଇଣ୍ଡେକ୍ସଡ୍ ଡିବି ଉଚ୍ଚ ସମନ୍ୱିତ ଲେଖା |

ଅସନ୍ତୁଳିତ ଏନକାପସୁଲେସନ୍ ଉପରେ ଆଧାର କରି ପ୍ରୋଜେକ୍ଟ idb IndexedDB

ଇଣ୍ଡେକ୍ସଡ୍ ଡିବି ପ read ଼ନ୍ତି ଏବଂ ଲେଖନ୍ତି ଅସନ୍ତୁଳିତ | ଏକ ଇଣ୍ଡେକ୍ସ ସୃଷ୍ଟି କରିବାବେଳେ, ଇଣ୍ଡେକ୍ସ ସୃଷ୍ଟି କରିବାକୁ ଡକ୍ୟୁମେଣ୍ଟଗୁଡ଼ିକ ଏକ ସମୟରେ ଲୋଡ୍ ହେବ |

ପ୍ରତିଯୋଗିତାମୂଳକ ଲେଖା ଦ୍ caused ାରା ସୃଷ୍ଟି ହୋଇଥିବା ଆଂଶିକ ତଥ୍ୟ କ୍ଷୟକୁ ଏଡାଇବା ପାଇଁ, ଆପଣ ନିମ୍ନରେ ଥିବା coffeescript କୋଡ୍ ରେଫର୍ କରିପାରିବେ ଏବଂ ପ୍ରତିଯୋଗୀ ଲେଖାଗୁଡ଼ିକୁ ଅଟକାଇବା ପାଇଁ ପ reading ିବା ଏବଂ ଲେଖିବା ମଧ୍ୟରେ ing କ୍ୟାଚ୍ ଯୋଡିପାରିବେ |

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()

ସଠିକତା ଏବଂ ମନେରଖ |

ସନ୍ଧାନ ପ୍ରଥମେ ଉପଭୋକ୍ତା ଦ୍ୱାରା ପ୍ରବିଷ୍ଟ କୀ ଶବ୍ଦଗୁଡ଼ିକୁ ସେଗମେଣ୍ଟ କରିବ |

ଧରନ୍ତୁ ଯେ ସେଗମେଣ୍ଟେସନ୍ ଶବ୍ଦ ପରେ N ଶବ୍ଦ ଅଛି, ଫଳାଫଳ ଫେରିବାବେଳେ ପ୍ରଥମେ ସମସ୍ତ କୀ ଶବ୍ଦ ଧାରଣ କରିଥିବା ଫଳାଫଳ ଫେରସ୍ତ ହେବ, ଏବଂ ତା’ପରେ N-1 , N-2 , ..., 1 କୀ ଶବ୍ଦ ଧାରଣ କରିଥିବା ଫଳାଫଳ ଫେରସ୍ତ ହେବ |

ପ୍ରଥମେ ପ୍ରଦର୍ଶିତ ସନ୍ଧାନ ଫଳାଫଳଗୁଡିକ ଜିଜ୍ଞାସାର ସଠିକତାକୁ ସୁନିଶ୍ଚିତ କରେ, ଏବଂ ପରବର୍ତ୍ତୀ ସମୟରେ ଲୋଡ୍ ହୋଇଥିବା ଫଳାଫଳଗୁଡିକ (ଅଧିକ ଲୋଡ୍ ବଟନ୍ କ୍ଲିକ୍ କରନ୍ତୁ) ପ୍ରତ୍ୟାହାର ହାର ନିଶ୍ଚିତ କରେ |

ଚାହିଦା ଉପରେ ଲୋଡ୍ କରନ୍ତୁ |

ପ୍ରତିକ୍ରିୟା ବେଗକୁ ଉନ୍ନତ କରିବାକୁ, ଅନ୍-ଡିମାଣ୍ଡ ଲୋଡିଂ କାର୍ଯ୍ୟକାରୀ କରିବା ପାଇଁ ସନ୍ଧାନ yield ଜେନେରେଟର ବ୍ୟବହାର କରେ ଏବଂ limit ଥର ଏକ ଫଳାଫଳ ପଚରାଯିବା ପରେ ରିଟର୍ନ କରେ |

ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ପ୍ରତ୍ୟେକ ଥର ଆପଣ yield ପରେ ପୁନର୍ବାର ସନ୍ଧାନ କଲେ, ଆପଣଙ୍କୁ IndexedDB ର ଏକ ଜିଜ୍ଞାସା କାରବାର ଖୋଲିବାକୁ ପଡିବ |

ପ୍ରିଫିକ୍ସ ରିଅଲ୍ ଟାଇମ୍ ସନ୍ଧାନ |

ଉପଭୋକ୍ତା ଟାଇପ୍ କରୁଥିବାବେଳେ ସନ୍ଧାନ ଫଳାଫଳ ପ୍ରଦର୍ଶନ କରିବାକୁ, ଉଦାହରଣ ସ୍ୱରୂପ, ଯେତେବେଳେ wor ଏଣ୍ଟର୍ ହୁଏ, words ଏବଂ work ଭଳି wor ସହିତ ଉପସର୍ଗ ହୋଇଥିବା ଶବ୍ଦଗୁଡ଼ିକ ପ୍ରଦର୍ଶିତ ହୁଏ |

ସର୍ଚ୍ଚ କର୍ଣ୍ଣଲ ଶବ୍ଦ ସେଗମେଣ୍ଟେସନ୍ ପରେ ଶେଷ ଶବ୍ଦ ପାଇଁ prefix ଟେବୁଲ୍ ବ୍ୟବହାର କରିବ ଏବଂ ଏହା ସହିତ ଉପସର୍ଗ ହୋଇଥିବା ସମସ୍ତ ଶବ୍ଦ ଖୋଜିବା ଏବଂ କ୍ରମରେ ସନ୍ଧାନ କରିବ |

ଆଣ୍ଟି-ଶେକ୍ ଫଙ୍କସନ୍ debounce ମଧ୍ୟ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପାରସ୍ପରିକ କାର୍ଯ୍ୟରେ ବ୍ୟବହୃତ ହୁଏ (ନିମ୍ନଲିଖିତ ଭାବରେ କାର୍ଯ୍ୟକାରୀ ହୁଏ) ଉପଭୋକ୍ତା ଇନପୁଟ୍ ଟ୍ରିଗର୍ ସର୍ଚ୍ଚର ଫ୍ରିକ୍ୱେନ୍ସି ହ୍ରାସ କରିବା ଏବଂ ଗଣନା ପରିମାଣକୁ ହ୍ରାସ କରିବା ପାଇଁ |

export default (wait, func) => {
  var timeout;
  return function(...args) {
    clearTimeout(timeout);
    timeout = setTimeout(func.bind(this, ...args), wait);
  };
}

ଅଫଲାଇନରେ ଉପଲବ୍ଧ |

ଇଣ୍ଡେକ୍ସ ଟେବୁଲ୍ ମୂଳ ପାଠ୍ୟ ସଂରକ୍ଷଣ କରେ ନାହିଁ, କେବଳ ଶବ୍ଦ, ଯାହା ସଂରକ୍ଷଣ ପରିମାଣକୁ ହ୍ରାସ କରେ |

ସନ୍ଧାନ ଫଳାଫଳକୁ ହାଇଲାଇଟ୍ କରିବା ମୂଳ ପାଠ୍ୟକୁ ପୁନ o ଲୋଡ୍ କରିବା ଆବଶ୍ୟକ କରେ, ଏବଂ service worker ସହିତ ମେଳ ହେବା ବାରମ୍ବାର ନେଟୱାର୍କ ଅନୁରୋଧକୁ ଏଡାଇ ଦେଇପାରେ |

ସେହି ସମୟରେ, କାରଣ service worker ସମସ୍ତ ଆର୍ଟିକିଲ୍ କ୍ୟାଚ୍ କରେ, ଥରେ ଉପଭୋକ୍ତା ଏକ ସନ୍ଧାନ କରିବା ପରେ, ସନ୍ଧାନ ସହିତ ସମଗ୍ର ୱେବସାଇଟ୍ ଅଫଲାଇନରେ ଉପଲବ୍ଧ |

ମାର୍କଡାଉନ୍ ଡକ୍ୟୁମେଣ୍ଟଗୁଡିକର ଅପ୍ଟିମାଇଜେସନ୍ ପ୍ରଦର୍ଶନ କରନ୍ତୁ |

MarkDown ଡକ୍ୟୁମେଣ୍ଟ୍ ପାଇଁ i18n.site ର ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ସନ୍ଧାନ ସମାଧାନ ଅପ୍ଟିମାଇଜ୍ ହୋଇଛି |

ସନ୍ଧାନ ଫଳାଫଳଗୁଡିକ ପ୍ରଦର୍ଶନ କରିବାବେଳେ, ଅଧ୍ୟାୟ ନାମ ପ୍ରଦର୍ଶିତ ହେବ ଏବଂ କ୍ଲିକ୍ ହେବାବେଳେ ଅଧ୍ୟାୟଟି ନେଭିଗେଟ୍ ହେବ |

ସଂକ୍ଷେପରେ

ଓଲଟା ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ କେବଳ ଶେଷ ଭାଗରେ କାର୍ଯ୍ୟକାରୀ ହୋଇଛି, କ server ଣସି ସର୍ଭର ଆବଶ୍ୟକ ନାହିଁ | ଏହା ଛୋଟ ଏବଂ ମଧ୍ୟମ ଆକାରର ୱେବସାଇଟ୍ ଯେପରିକି ଡକ୍ୟୁମେଣ୍ଟ୍ ଏବଂ ବ୍ୟକ୍ତିଗତ ବ୍ଲଗ୍ ପାଇଁ ଅତ୍ୟନ୍ତ ଉପଯୁକ୍ତ |

i18n.site ଓପନ୍ ସୋର୍ସ ସ୍ developed- ବିକଶିତ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ସନ୍ଧାନ, ଆକାରରେ ଛୋଟ ଏବଂ ଦ୍ରୁତ ପ୍ରତିକ୍ରିୟାରେ, ସାମ୍ପ୍ରତିକ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନର ତ୍ରୁଟି ସମାଧାନ କରେ ଏବଂ ଏକ ଉତ୍ତମ ଉପଭୋକ୍ତା ଅଭିଜ୍ଞତା ପ୍ରଦାନ କରେ |