第一次搜尋
註冊資料庫、啟動 daemon、把檔案放進 inbox,再透過唯讀 HTTP API 查詢。
註冊資料庫
kura add my_docs
此命令會:
- 將名稱中的連續空白合併為底線。
- 建立
~/.config/kuradb/my_docs/inbox/。 - 建立指向 inbox 的符號連結
~/Kura_my_docs。 - 在
~/.config/kuradb/db.json註冊my_docs。
名稱已註冊或 ~/.config/kuradb/my_docs 已存在時,命令會失敗。Daemon 執行期間新增的資料庫不會熱載入;查詢前必須重新啟動 KuraDB。
啟動 daemon
kura
前景 launcher 會啟動分離的 --daemon 程序,並等待 endpoint 檔案最多 10 秒。就緒後會印出類似下列 URL:
http://localhost:43127
Daemon 會載入已註冊資料庫、從 SQLite 還原快取、為每個已載入資料庫啟動一個 watcher 與一個 embedding loop,並將唯讀 HTTP API 綁定至 127.0.0.1。若 endpoint 檔案未及時出現,launcher 會以錯誤結束,並指向 ~/.config/kuradb/daemon.log。
索引檔案
cp document.md ~/Kura_my_docs/
Watcher 每 10 秒輪詢一次。變更的檔案會被解析並寫入 SQLite;embedding scheduler 每 5 秒輪詢一次,每批最多處理 64 個 pending chunk。Chunk 寫入後即可被關鍵字搜尋找到;完成 embedding 後才會出現在語意搜尋。
執行搜尋
讀取選定的 endpoint,並同時查詢兩種策略:
BASE="$(cat ~/.config/kuradb/endpoint)"
curl "$BASE/api/search?db=my_docs&q=什麼是RAG&limit=5"
使用 target=keyword 或 target=semantic 只執行單一策略:
curl "$BASE/api/search?db=my_docs&q=向量快取&target=semantic"
所有參數與 response 結構見搜尋 API。