Просмотр исходного кода

feat: page content search ipc adjust

Junyi Du 3 лет назад
Родитель
Сommit
093fb68819
2 измененных файлов с 13 добавлено и 4 удалено
  1. 11 3
      src/electron/electron/search.cljs
  2. 2 1
      src/main/frontend/search/node.cljs

+ 11 - 3
src/electron/electron/search.cljs

@@ -254,12 +254,20 @@
          (take limit)
          (vec))))))
 
+(defn- search-pages-res-unpack
+  [arr]
+  (let [[rowid uuid content snippet] arr]
+    {:id      rowid
+     :uuid    uuid
+     :content content
+     :snippet snippet}))
+
 (defn- search-pages-aux
   [database sql input limit]
   (let [stmt (prepare database sql)]
-    (js->clj
-     (.all ^object stmt  input limit)
-     :keywordize-keys true)))
+    (map search-pages-res-unpack (-> (.raw ^object stmt)
+                                     (.all input limit)
+                                     (js->clj)))))
 
 (defn search-pages
   [repo q {:keys [limit]}]

+ 2 - 1
src/main/frontend/search/node.cljs

@@ -20,9 +20,10 @@
   (query-page [_this q opts]
     (p/let [result (ipc/ipc "search-pages" repo q opts)
             result (bean/->clj result)]
-      (keep (fn [{:keys [content uuid]}]
+      (keep (fn [{:keys [content snippet uuid]}]
               (when-not (> (count content) (* 10 (state/block-content-max-length repo)))
                 {:block/uuid uuid
+                 :snippet snippet
                  :block/content content})) result)))
   (rebuild-blocks-indice! [_this]
     (let [blocks-indice (search-db/build-blocks-indice repo)