搜尋:校勘條目、註解、夾注

參數與回傳格式的完整說明,見 API 文件: search/notes

q 查詢語法

單一個詞可以不加雙引號, https://cbdata.dila.edu.tw/dev/search/notes?q=法鼓 與 https://cbdata.dila.edu.tw/dev/search/notes?q="法鼓" 的結果相同。

但 AND、OR、NOT、NEAR、Exclude 語法的每個詞都必須用雙引號括起來, 否則整個查詢字串會被當成一個詞。

查詢字串 (q) 長度上限為 40 字,超過會回傳錯誤。

以下範例均要做 URL encode, 例如:

"波羅蜜" | "波羅密"

要編碼為

%22波羅蜜%22%20%7C%20%22波羅密%22

AND

多個字詞都必須出現。將每個詞用雙引號括起來,再以空格隔開多個字詞。

例:https://cbdata.dila.edu.tw/dev/search/notes?q="法鼓" "印順"

OR

例:https://cbdata.dila.edu.tw/dev/search/notes?q="波羅蜜"|"波羅密"

NOT

例:https://cbdata.dila.edu.tw/dev/search/notes?q="迦葉" !"迦葉佛"

NEAR

例:https://cbdata.dila.edu.tw/dev/search/notes?q="阿含" NEAR/5 "迦葉"

上例表示「阿含」跟「迦葉」之間距離不超過5個字。

也可以串接多個 NEAR,例:https://cbdata.dila.edu.tw/dev/search/notes?q="老子" NEAR/7 "道" NEAR/3 "經"

NEAR 查詢不回傳 total_term_hits,只回傳 num_found。

不支援的語法

括號分組 (…)、鄰近運算子 ~n、以及 & 運算子都不支援,會在回傳的 error 欄位說明原因。

限制搜尋範圍

參考 https://cbdata.dila.edu.tw/dev/static_pages/search_filter

排序

預設依藏經、冊號、行號排序。

分段取回全部結果 (cursor)

start + rows 不得超過 100,000(rows 超過時自動截斷)。 要取回超過 10 萬筆的結果(例如匯出),請改用 cursor 參數分段取回:

  1. 第一段傳 cursor=*,rows 為每段筆數(上限 10,000,超過時自動截斷)。
  2. 回傳的 next_cursor 原封不動傳給下一段的 cursor 參數;q 與篩選、排序參數須與第一段相同。
  3. next_cursor 為 null 表示已取完。

例:https://cbdata.dila.edu.tw/dev/search/notes?q=明&rows=10000&cursor=*

cursor 不能與 start 同時使用。兩段之間超過 5 分鐘未取下一段,cursor 會過期,須以 cursor=* 重新開始。 Exclude 查詢的一段可能少於 rows 筆(被排除的條目不回傳),以 next_cursor 是否為 null 判斷結束。 請依序取回,每分鐘的請求數受限流規範(見 API 文件)。

facet

facet=1 回傳藏經、部類、作譯者、朝代、佛典五種 facet。 NEAR 查詢的 hits 與 docs 相同(符合的條目數);Exclude 查詢的 hits 為排除後的出現次數。