brief: | i18n.site ବର୍ତ୍ତମାନ ସର୍ଭରହୀନ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନକୁ ସମର୍ଥନ କରେ |
ଏହି ଆର୍ଟିକିଲ୍ ଇଣ୍ଡେକ୍ସଡେଡିବି ଦ୍ୱାରା ନିର୍ମିତ ଓଲଟା ଇଣ୍ଡେକ୍ସ, ପ୍ରିଫିକ୍ସ ସର୍ଚ୍ଚ, ୱାର୍ଡ ସେଗମେଣ୍ଟେସନ୍ ଅପ୍ଟିମାଇଜେସନ୍ ଏବଂ ମଲ୍ଟି ଲାଙ୍ଗୁଏଜ୍ ସପୋର୍ଟ ସହିତ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସର୍ଚ୍ଚ ଟେକ୍ନୋଲୋଜିର କାର୍ଯ୍ୟକାରିତାକୁ ଉପସ୍ଥାପନ କରେ |
ବିଦ୍ୟମାନ ସମାଧାନଗୁଡ଼ିକ ତୁଳନାରେ, i18n.site ର ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସନ୍ଧାନ ଆକାରରେ ଛୋଟ ଏବଂ ଦ୍ରୁତ, ଡକ୍ୟୁମେଣ୍ଟ ଏବଂ ବ୍ଲଗ୍ ପରି ଛୋଟ ଏବଂ ମଧ୍ୟମ ଆକାରର ୱେବସାଇଟ୍ ପାଇଁ ଉପଯୁକ୍ତ ଏବଂ ଅଫଲାଇନରେ ଉପଲବ୍ଧ |
& ଅନେକ ସପ୍ତାହ markdown , i18n.site
ଏହି i18n.site ସନ୍ଧାନ ପ୍ରଭାବକୁ ଅନୁଭବ କରିବା ପାଇଁ i18n.site
ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନର ବ technical ଷୟିକ କାର୍ଯ୍ୟକାରିତା ଅଂଶୀଦାର କରିବ!
କୋଡ୍ ଖୋଲା : ସନ୍ଧାନ କର୍ଣ୍ଣଲ / ଇଣ୍ଟରାକ୍ଟିଭ୍ ଇଣ୍ଟରଫେସ୍ |
ଛୋଟ ଏବଂ ମଧ୍ୟମ ଆକାରର ଶୁଦ୍ଧ ଷ୍ଟାଟିକ୍ ୱେବସାଇଟ୍ ଯେପରିକି ଡକ୍ୟୁମେଣ୍ଟ୍ / ବ୍ୟକ୍ତିଗତ ବ୍ଲଗ୍, ଏକ ସ୍ୱ-ନିର୍ମିତ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ବ୍ୟାକେଣ୍ଡ୍ ନିର୍ମାଣ କରିବା ଅତ୍ୟଧିକ ଭାରୀ, ଏବଂ ସେବାମୁକ୍ତ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ହେଉଛି ଅଧିକ ସାଧାରଣ ପସନ୍ଦ |
ସର୍ଭରହୀନ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନ ଦୁଇଟି ବ୍ୟାପକ ବର୍ଗରେ ଅଛି:
ପ୍ରଥମେ, ସମାନ algolia.com ତୃତୀୟ-ପକ୍ଷ ସନ୍ଧାନ ସେବା ପ୍ରଦାନକାରୀମାନେ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ପାଇଁ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଉପାଦାନଗୁଡିକ ପ୍ରଦାନ କରନ୍ତି!
ସର୍ଚ୍ଚ ଭଲ୍ୟୁମ ଉପରେ ଆଧାର କରି ଏହିପରି ସେବାଗୁଡିକ ଦେୟ ଆବଶ୍ୟକ କରନ୍ତି ଏବଂ ୱେବସାଇଟ୍ ଅନୁପାଳନ ଭଳି ସମସ୍ୟା ହେତୁ ମଧ୍ୟପ୍ରଦେଶର ଚାଇନାର ଉପଭୋକ୍ତାମାନଙ୍କ ପାଇଁ ପ୍ରାୟତ un ଉପଲବ୍ଧ ନଥାଏ |
ଏହାକୁ ଅଫଲାଇନରେ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ, ଇଣ୍ଟରନେଟରେ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ, ଏବଂ ଏହାର ବହୁତ ସୀମିତତା ଅଛି | ଏହି ପ୍ରବନ୍ଧଟି ଅଧିକ ଆଲୋଚନା କରେ ନାହିଁ |
ଦ୍ୱିତୀୟଟି ହେଉଛି ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସନ୍ଧାନ |
ବର୍ତ୍ତମାନ, ସାଧାରଣ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ୍ ଫୁଲ୍ ଟେକ୍ସଟ୍ ସନ୍ଧାନଗୁଡିକ ଅନ୍ତର୍ଭୂକ୍ତ lunrjs ଏବଂ ElasticLunr.js ( lunrjs
ଦଳୀୟ ବିକାଶ ଉପରେ ଆଧାର କରି)!
lunrjs
ଇଣ୍ଡେକ୍ସ ଗଠନ କରିବାର ଦୁଇଟି ଉପାୟ ଅଛି ଏବଂ ଉଭୟଙ୍କର ନିଜସ୍ୱ ସମସ୍ୟା ଅଛି |
ପୂର୍ବ ନିର୍ମିତ ଇଣ୍ଡେକ୍ସ ଫାଇଲଗୁଡ଼ିକ |
କାରଣ ସୂଚକାଙ୍କରେ ସମସ୍ତ ଡକ୍ୟୁମେଣ୍ଟରୁ ଶବ୍ଦ ଅଛି, ଏହା ଆକାରରେ ବଡ଼ | ଯେତେବେଳେ ବି ଏକ ଡକ୍ୟୁମେଣ୍ଟ୍ ଯୋଡାଯାଏ କିମ୍ବା ରୂପାନ୍ତରିତ ହୁଏ, ଏକ ନୂତନ ଇଣ୍ଡେକ୍ସ ଫାଇଲ୍ ଲୋଡ୍ ହେବା ଜରୁରୀ | ଏହା ଉପଭୋକ୍ତାଙ୍କର ଅପେକ୍ଷା ସମୟ ବ increase ାଇବ ଏବଂ ବହୁ ବ୍ୟାଣ୍ଡୱିଡଥ୍ ଖାଇବ |
ଡକ୍ୟୁମେଣ୍ଟ୍ ଲୋଡ୍ କରନ୍ତୁ ଏବଂ ଫ୍ଲାଇରେ ଇଣ୍ଡେକ୍ସ ନିର୍ମାଣ କରନ୍ତୁ |
ଏକ ଇଣ୍ଡେକ୍ସ ନିର୍ମାଣ ହେଉଛି ଏକ ଗଣନାତ୍ମକ ଭାବରେ ଘନିଷ୍ଠ କାର୍ଯ୍ୟ, ପ୍ରତ୍ୟେକ ଥର ଆପଣ ପ୍ରବେଶ କରିବା ସମୟରେ ସୂଚକାଙ୍କ ପୁନ u ନିର୍ମାଣ କରିବା ସ୍ପଷ୍ଟ ବିଳମ୍ବ ଏବଂ ଖରାପ ବ୍ୟବହାରକାରୀ ଅଭିଜ୍ଞତା ସୃଷ୍ଟି କରିବ |
lunrjs
ସହିତ, ଅନ୍ୟ କିଛି ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନ ଅଛି, ଯେପରିକି :
ସନ୍ଧାନ କରିବାକୁ ଷ୍ଟ୍ରିଙ୍ଗଗୁଡ଼ିକ ମଧ୍ୟରେ ସମାନତା ଗଣନା କର fusejs
ଏହି ସମାଧାନର କାର୍ଯ୍ୟଦକ୍ଷତା ଅତ୍ୟନ୍ତ ଖରାପ ଏବଂ ପୂର୍ଣ୍ଣ ପାଠ୍ୟ ସନ୍ଧାନ ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ (ଦେଖନ୍ତୁ Fuse.js ଲମ୍ବା ଜିଜ୍ଞାସା 10 ସେକେଣ୍ଡରୁ ଅଧିକ ସମୟ ନେଇଥାଏ, ଏହାକୁ କିପରି ଅପ୍ଟିମାଇଜ୍ କରାଯାଏ? )
ସନ୍ଧାନ କରିବାକୁ ବ୍ଲୁମ୍ ଫିଲ୍ଟର୍ ବ୍ୟବହାର କରନ୍ତୁ, ଉପସର୍ଗ ସନ୍ଧାନ ପାଇଁ ବ୍ୟବହୃତ ହୋଇପାରିବ ନାହିଁ (ଉଦାହରଣ ସ୍ୱରୂପ, goo
ପ୍ରବେଶ TinySearch , ସନ୍ଧାନ good
, google
), ଏବଂ ସମାନ ସ୍ୱୟଂଚାଳିତ ସମାପ୍ତି ପ୍ରଭାବ ହାସଲ କରିପାରିବ ନାହିଁ |
ବିଦ୍ୟମାନ ସମାଧାନର ତ୍ରୁଟି ହେତୁ, i18n.site
ଏକ ନୂତନ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନ ସମାଧାନ ବିକଶିତ କଲା, ଯାହାର ନିମ୍ନଲିଖିତ ଗୁଣ ଅଛି :
gzip
ପ୍ୟାକେଜିଂ ପରେ ସର୍ଚ୍ଚ କର୍ଣ୍ଣଲର ଆକାର 6.9KB
ଅଟେ (ତୁଳନା ପାଇଁ, lunrjs
ର ଆକାର 25KB
)indexedb
ଉପରେ ଆଧାର କରି ଏକ ଓଲଟା ଇଣ୍ଡେକ୍ସ ନିର୍ମାଣ କରନ୍ତୁ, ଯାହା କମ୍ ମେମୋରୀ ନେଇଥାଏ ଏବଂ ଦ୍ରୁତ ଅଟେ |ନିମ୍ନରେ, 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()
ରେ:
/\p{P}/
ହେଉଛି ଏକ ନିୟମିତ ଅଭିବ୍ୟକ୍ତି ଯାହା ବିରାମ ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _
ସହିତ ମେଳ ହୁଏ { | ~ } ।</p><ul><li>
split('.')ହେଉଛି କାରଣ
Firefoxବ୍ରାଉଜର୍ ୱାର୍ଡ ସେଗମେଣ୍ଟେସନ୍ ସେଗମେଣ୍ଟ୍
. ` ନୁହେଁ |
IndexedDB
ରେ 5 ଅବଜେକ୍ଟ ଷ୍ଟୋରେଜ୍ ଟେବୁଲ୍ ସୃଷ୍ଟି କରାଯାଇଥିଲା :
word
ଶବ୍ଦ : id -doc
ଡକ୍ୟୁମେଣ୍ଟ୍ url - ଡକ୍ୟୁମେଣ୍ଟ୍ ସଂସ୍କରଣ ସଂଖ୍ୟା : id -docWord
: ଡକ୍ୟୁମେଣ୍ଟ୍ ର ଆରେ id - ଶବ୍ଦ idprefix
: id ଆରେ -rindex
ୱାର୍ଡ id - ଡକ୍ୟୁମେଣ୍ଟ୍ id : ରେଖା ସଂଖ୍ୟାଗୁଡ଼ିକର ଆରେ :ଡକ୍ୟୁମେଣ୍ଟ୍ 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- ବିକଶିତ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ସନ୍ଧାନ, ଆକାରରେ ଛୋଟ ଏବଂ ଦ୍ରୁତ ପ୍ରତିକ୍ରିୟାରେ, ସାମ୍ପ୍ରତିକ ଶୁଦ୍ଧ ଫ୍ରଣ୍ଟ-ଏଣ୍ଡ ପୂର୍ଣ୍ଣ-ପାଠ୍ୟ ସନ୍ଧାନର ତ୍ରୁଟି ସମାଧାନ କରେ ଏବଂ ଏକ ଉତ୍ତମ ଉପଭୋକ୍ତା ଅଭିଜ୍ଞତା ପ୍ରଦାନ କରେ |