karmapa / AdarshaIos

📱 Tibetan sutra reader iOS app
GNU General Public License v3.0
5 stars 2 forks source link

部分的進階搜尋結果進入內文後的經名,是上一個經的經名 #82

Closed chiehan1 closed 8 years ago

chiehan1 commented 8 years ago

下圖是在進階搜尋第一欄輸入 金剛 的搜尋結果

左邊第一個綠框 和 內文經名欄 的經名不同 右邊第一個黑圖顯示 jiangkangyur 原始檔 sutra id tag 和 head n="1" tag 在不同頁

左邊第二、第三個綠框 和內文經名欄的經名相同 右邊第二、第三個黑圖顯示 sutra id tag 和 head n="1" tag 在同一頁

左邊第四個綠框 和 內文經名欄經名不同 右邊第四個黑圖 sutra id tag 和 head n="1" tag 也在不同頁

可能是因為 jiangkangyur 有些 sutra id tag 和 head n="1" tag 在不同頁, 進階搜尋獲得的資訊是 sutra id,搜尋結果進入內文的開頭是 sutra id tag 所在的頁面,但是這個頁面在 head n="1" tag 的頁面之前,所以一開始抓到的經名是上一個經名

picture1

kmsheng commented 8 years ago

@yapcheahshen 請葉老師協助處理, 取得 vpos 與 sutraId 的 mapping 在這裡 https://github.com/karmapa/AdarshaIos/blob/master/src/modules/main.js#L102

yapcheahshen commented 8 years ago

不要用 db.get 用 ksa.fetch 配合 vpos_end (該頁最後一個字的vpos) 即可抓到正確的sutra id 詳見:https://github.com/karmapa/adarsha2016/blob/480b09be8cfca960d0531cb8134ecc2ce3ee78e0/result.js#L57

ksana-simple-api要1.5.21 以上 https://github.com/ksanaforge/ksana-simple-api/commit/95b98a00a944889efe8a53e99657f6eaa123fa2b

kmsheng commented 8 years ago

@yapcheahshen 你貼的那個連結是 vpos to sutra id, 我要的是 sutra id 直接抓內文資料

我原本的流程是這樣:

  1. 用 db.get 取得全部的 sutra id 與對應的 vpos
  2. 用關鍵字去 biography.json 找符合關鍵字的 sutra id
  3. 用 sutra id 去 1. 的結果找 vpos
  4. 用 ksa.fetch 代入 vpos 來抓內文的資料

如果可以的話最好可以省略成:

  1. 用關鍵字去 biography.json 找符合關鍵字的 sutra id
  2. 用 ksa.fetch 代入 sutra id 抓內文資料
yapcheahshen commented 8 years ago

從sutra id 抓內文的範例: https://github.com/karmapa17/jiangkangyur/blob/master/test/test-sutraid2uti.js

kmsheng notifications@github.com 於 2016年1月30日 下午7:47 寫道:

@yapcheahshen https://github.com/yapcheahshen 你貼的那個連結是 vpos to sutra id, 我要的是 sutra id 直接抓內文資料

我原本的流程是這樣:

  1. 用 db.get 取得全部的 sutra id 與對應的 vpos
  2. 用關鍵字去 biography.json 找符合關鍵字的 sutra id
  3. 用 sutra id 去 1. 的結果找 vpos
  4. 用 ksa.fetch 代入 vpos 來抓內文的資料

如果可以的話最好可以省略成:

  1. 用關鍵字去 biography.json 找符合關鍵字的 sutra id
  2. 用 ksa.fetch 代入 sutra id 抓內文資料

— Reply to this email directly or view it on GitHub https://github.com/karmapa/AdarshaIos/issues/82#issuecomment-177156530.

kmsheng commented 8 years ago

@yapcheahshen 了解 https://github.com/karmapa17/jiangkangyur/blob/master/test/test-sutraid2uti.js#L12 b3zef6miuaeqabi

kmsheng commented 8 years ago

@yapcheahshen https://github.com/karmapa17/jiangkangyur/blob/master/test/test-sutraid2uti.js#L10 ksa.vpos2uti 不支援餵多個 vpos 嗎 ?

yapcheahshen commented 8 years ago

ksana-simple-api@1.5.23 之後支援 array format ksa.vpos2uti({db:"jiangkangyur",vpos:[123,456]} , (err,data)=>{});

2016-01-31 0:13 GMT+08:00 kmsheng notifications@github.com:

@yapcheahshen https://github.com/yapcheahshen https://github.com/karmapa17/jiangkangyur/blob/master/test/test-sutraid2uti.js#L10 ksa.vpos2uti 不支援餵多個 vpos 嗎 ?

— Reply to this email directly or view it on GitHub https://github.com/karmapa/AdarshaIos/issues/82#issuecomment-177223190.

kmsheng commented 8 years ago

@chiehan1 不正確的經名是由 biography.json 出來的, 所以應該是要更新 biography.json ?

0: "འཕགས་པ་ཤེས་རབ་ཀྱི་ཕ་རོལ་ཏུ་ཕྱིན་པ་རྡོ་རྗེ་གཅོད་པ་ཞེས་བྱ་བ་ཐེག་པ་ཆེན་པོའི་མདོ།"
1: "འཕགས་པ་རྡོ་རྗེའི་ཏིང་ངེ་འཛིན་གྱི་ཆོས་ཀྱི་ཡི་གེ།"
2: "འཕགས་པ་རྡོ་རྗེའི་སྙིང་པོའི་གཟུངས་ཞེས་བྱ་བ་ཐེག་པ་ཆེན་པོའི་མདོ།"
3: "ཀྱེའི་རྡོ་རྗེ་ཞེས་བྱ་བ་རྒྱུད་ཀྱི་རྒྱལ་པོ།"
4: "དེ་བཞིན་གཤེགས་པ་ཐམས་ཅད་ཀྱི་སྐུ་གསུང་ཐུགས་ཀྱི་གསང་ཆེན་གསང་བ་འདུས་པ་ཞེས་བྱ་བ་བརྟག་པའི་རྒྱལ་པོ་ཆེན་པོ།"
5: "དེ་བཞིན་གཤེགས་པ་ཐམས་ཅད་ཀྱི་དེ་ཁོ་ན་ཉིད་བསྡུས་པ་ཞེས་བྱ་བ་ཐེག་པ་ཆེན་པོའི་མདོ།"
6: "འཇིག་རྟེན་གསུམ་ལས་རྣམ་པར་རྒྱལ་བ་རྟོག་པའི་རྒྱལ་པོ་ཆེན་པོ།"
7: "དཔལ་མཆོག་དང་པོ་ཞེས་བྱ་བ་ཐེག་པ་ཆེན་པོའི་རྟོག་པའི་རྒྱལ་པོ།"
8: "དཔལ་མཆོག་དང་པོའི་སྔགས་ཀྱི་རྟོག་པའི་དུམ་བུ་ཞེས་བྱ་བ།"
9: "འཕགས་པ་ཤེས་རབ་ཀྱི་ཕ་རོལ་ཏུ་ཕྱིན་པའི་ཚུལ་བརྒྱ་ལྔ་བཅུ་པ།"
10: "དཔལ་རྡོ་རྗེ་སྙིང་པོ་རྒྱན་ཅེས་བྱ་བའི་རྒྱུད་ཀྱི་རྒྱལ་པོ་ཆེན་པོ།"
11: "རྣམ་པར་སྣང་མཛད་ཆེན་པོ་མངོན་པར་རྫོགས་པར་བྱང་ཆུབ་པ་རྣམ་པར་སྤྲུལ་པ་བྱིན་གྱིས་རློབ་པ་ཤིན་ཏུ་རྒྱས་པ་མདོ་སྡེའི་དབང་པོའི་རྒྱལ་པོ་ཞེས་བྱ་བའི་ཆོས་ཀྱི་རྣམ་གྲངས།"
12: "འཕགས་པ་ལྷ་མོ་སྐུལ་བྱེད་མ་ཞེས་བྱ་བའི་གཟུངས།"
13: "འཕགྶ་པ་སྒོ་བཟང་པོ་ཞེས་བྱ་བའི་གཟུངས།"
14: "འཕགས་པ་ནཱི་ལ་ཀཎྛ་ཞེས་བྱ་བའི་གཟུངས།"
15: "འབྱུང་པོ་འདུལ་བ་ཞེས་བྱ་བའི་རྒྱུད་ཀྱི་རྒྱལ་པོ་ཆེན་པོ།"
16: "རྡོ་རྗེ་རྣམ་པར་འཇོམས་པ་ཞེས་བྱ་བའི་གཟུངས།"
17: "འཕགས་པ་རྡོ་རྗེའི་རི་རབ་ཆེན་པོའི་རྩེ་མོའི་ཁང་པ་བརྩེགས་པའི་གཟུངས།"
18: "རྡོ་རྗེ་ཕྲ་མོ་ཐོག་པ་མེད་པ་ཞེས་བྱ་བའི་གཟུངས།"
19: "འཕགས་པ་ནཱི་ལ་ཀཎ་ཋ་ཞེས་བྱ་བའི་གཟུངས།"
20: "འཕགས་པ་སྒོ་བཟང་པོ་ཞེས་བྱ་བའི་གཟུངས།"
21: "འཕགས་པ་རྡོ་རྗེ་རི་རབ་ཆེན་པོའི་རྩེ་མོའི་ཁང་པ་བརྩེགས་པའི་གཟུངས།"
22: "འཕགས་པ་ལག་ན་རྡོ་རྗེ་གོས་སྔོན་པོ་ཅན་གྱི་ཆོ་ག་ཞེས་བྱ་བའི་གཟུངས།"
23: "རྡོ་རྗེས་རྣམ་པར་འཇོམས་པ་ཞེས་བྱ་བའི་གཟུངས།"
24: "རྡོ་རྗེ་ཕྲ་མོ་ཐོགས་པ་མྱེད་པ་ཞེས་བྱ་བའི་གཟུངས།"
25: "འཕགས་པ་ལྷ་མོ་སྐུལ་བྱེད་མ་ཞེས་བྱ་བའི་གཟུངས།"
chiehan1 commented 8 years ago

葉老師您好 @yapcheahshen ,David @kmsheng 您好:

可能是當初工作室設想進階搜尋用 sutra id 抓內文經名時,有沒預料到的狀況 biography 的經名資料是沒錯的

用 web 版的做比對 進階搜尋第一欄輸入 金剛 但是用進階搜尋到內文 39.151b 的時候,iOS 的經名其實是前一部經的經名 請問 web 版那邊顯示內文經名的機制是如何?

在 iOS 版,同一部經由樹狀目錄進入時, 諸般若經部 => 第二層目錄 => 第五個經 進入內文的頁面是 39.152a,因為 head1 tag 是在 39.152a 但是用進階搜尋進入這部經的起始頁是 39.151b,因為 sutraid tag 在 39.151b 請問 web 版是如何進階搜尋,用同樣的 biography 資料和 sutraid J18 進入到內文後,經名可以抓對,不會差一頁而抓到上一部經的經名

compare

kmsheng commented 8 years ago

@yapcheahshen 現在進到內文頁都是用 vpos_end 來抓經名了? 為什麼還是會出現跟 biography.json 不一樣的情形 ?

kmsheng commented 8 years ago

@yapcheahshen 整段重製的測試程式我都寫出來了, 再麻煩你看看 https://github.com/karmapa/AdarshaIos/commit/05e4bb721f5880f5784b100a79050d6322d1c0be#diff-76f4c7d9c5506836112632fe7fded03aR26

yapcheahshen commented 8 years ago

如果Web 版可以抓取正確sutraid ,那請向 信諾詢問,我只優先處理ksana engine 的bug 。

kmsheng commented 8 years ago

@yapcheahshen 這哪招啊 ? https://github.com/karmapa/adarsha2016/blob/480b09be8cfca960d0531cb8134ecc2ce3ee78e0/result.js#L55-L56 vpos 寫死 +300, 下面的 q 還代入不存在的 tf2

kmsheng commented 8 years ago

@chiehan1 目前先比照信諾那邊的 workaround 實作了, 請測試 v1.0.51(10) 有沒有問題

chiehan1 commented 8 years ago

test ok! thank you!