-gMIS持續優化更新, +InSiteSearch站內搜索

-gMIS 部署和應用的場景愈來愈多,最近在考慮爲全部gMIS承載管理的數據庫系統增長一個站內搜索功能, +InSiteSearch 。前因是在 2017年11月份的更新中,咱們設想「層級目錄導航是「傳統」的,屬於 Yahoo 時代的產物,將來的導航應該是 Google 式的智能導航。
將來擬開發一個 gMIS 域內全文搜索引擎,這樣用戶就無需使用或者記錄層級目錄。」 (-R/p2SM)。 約半年後,咱們實現了這方面的一個探索。php

主要動機能夠類比爲Yahoo時代的目錄搜索與Google時代的全文檢索,當 -gMIS 所管理的對象超過必定數量級後,管理人員面臨的問題就天然而然地迷失在多層複雜的目錄式的導航中,如何有效地定位到目標功能模塊成爲迫切須要解決的問題。(在Google出現以前,用戶想找某個主題/關鍵詞的內容,須要去Yahoo的站點目錄裏去逐層逐級的查找相應的站點,Yahoo提供的網站目錄知足了當時的需求)git

站內搜索也被稱之爲局域網搜索Intranet search /Onsite search有別於互聯網搜索Internet search. 其目的是搜索網址內部一般不公開的,格式化或者非格式化的內容。github

  1. 站內搜索InSiteSearch主要思路

    格式化數據的搜索是一個老課題。相對於非格式化數據,好比常見的網頁數據,格式化數據有得天獨厚的優點,咱們能確切的預先知道,數據的格式、類型與規模。
    在得到這些以後又該怎樣實現站內搜索呢?
    大體有兩個思路,列以下。數據庫

    一是將待搜索的數據,讀取到某個index service上實現對數據的indexing,當有某種關鍵詞進行搜索時,按indexing的數據進行相應數據的返回。
    這種方式,是事先、同步地將全部格式化數據同步到indexing 服務,並實現相應的增刪改的操做同步。
    也即,在格式化數據庫/表以外,須要獨立的創建一套應對全文搜索的數據結構存儲系統,一般爲 keyword–>pagelist 結構,也即某個待搜索關鍵詞會對應一個包含該關鍵詞的文檔列表,其中列表的排序規則爲某個權重值,其主要指標是爲了表名當前關鍵詞與當前文檔的依存關係。
    若無心外,該indexing的數據存儲結果將同等尺寸於原始格式化數據。
    另一種思路,也即,是否能夠爲待搜索的數據提供某種roadmap(路書、地圖),當有某種關鍵詞進行搜索時,知道在什麼地方以什麼方式進行搜索。而實際數據的增刪改人保留在原數據庫/表中,當下的站內搜索InSiteSearch只是提供某種ShortCut服務,該服務可以實現以較爲經濟的、智能的方式,幫助調用者以較合理地方式返回預期的搜索內容。
    能夠設想,在這種思路下,系統不須要建立一套indexing服務,也不須要額外地複製所有格式化數據副本做爲待檢索的對象。
    也即,當觸發在全域進行某個關鍵詞進行搜索時,InSiteSearch知道該關鍵詞最可能出如今某些數據表的數據字段項上,而不太可能出如今其餘字段項或者其餘數據表相應的字段項上。
    這種路書(地圖)導引式的搜索輔助設施,將極大地提高搜索範圍和搜索精度,在格式化數據的搜索上,很好的契合了搜索需求的應用場景。數據結構

    兩相比較,在 -gMIS 中,咱們選用了,基於路書的指引式站內搜索方式。app

  2. 站內搜索InSiteSearch的實現方式

    依據前述討論,咱們在 -gMIS 中實現了基於導引式地站內搜索實現。其主要操做內容以下。
    A. 建立 insitesearch 表
    用於存儲當有基於某個關鍵詞進行搜索時,所依賴的數據表路徑。
    insitesearch表的生成主要依賴 /act/insitesearchsort.php 程序。
    該程序讀取當前數據庫鏈接下的全部數據表,並分析每一個數據表的每一個字段,若是發現當前字段數據可被檢索字符串類型,一般爲char(4-255),則將該數據庫、數據表的數據字段記爲待檢索字段。
    以此循環全部數據表的全部數據字段,生成待檢索數據字段列表。
    當有待搜索關鍵詞遞交到系統程序時, /extra/insitesearch.php , 站內搜索引擎程序按圖索驥地逐個待搜索數據庫、數據表、數據字段的進行檢索。
    根據當前頁的size設置,搜索到N個結果時,自動返回給調用者,以此造成翻頁功能。異步

    B. 增長站內搜索入口
    對應地,咱們在 進入系統主頁和list view識圖頁面,在頂部導航欄增長了對 站內搜索 的接入功能,若用戶須要進行站全域站內搜索,只需將待搜索關鍵詞遞交給搜索模塊便可實現該功能。
    優化

    C. 動態更新搜索源
    輔助地,咱們在 網站

    Π 首頁 → 桌面 & 系統配置 → 搜索源配置 | 搜索源配置 

    增長了對 搜索源的配置與管理,在該模塊能夠實現對待搜索列表的手工更新與配置。當有新的數據模塊被手工添加到當前數據庫時,能夠經過 「更新搜索源列表」 來實現對待搜索資源列表的更新與維護。ui

    D. 精細化操做的黑白名單設置
    一樣地,咱們在

    Π 首頁 → 桌面 & 系統配置 → 搜索源黑白名單 | 搜索源黑白名單

    額外地增長了對待搜索源的黑白名單設置,以知足特性的運營需求,好比當某個數據庫的數據表的數據字段被程序規則斷定爲「黑名單」時,能夠在此將相應的條件設置爲容許「白名單」;一樣地,當某個數據庫的數據表的字段被程序判斷爲「白名單」而經過系統檢測,能夠在此將相應條件設置爲「黑名單」,以阻止其進入待搜索隊列。

     

  3. UI批量更新與優化
    單條記錄更新模塊,增長了行間距,當字段之間跟容易識別;
    字段名稱加粗顯示,區別與字段值、字段備註等信息;
    列表顯示時,增長了 break-all 屬性,數據表默認再也不撐破窗口,在縱向滾動和橫向滾動中選擇其一,仍不能排除某些狀況下,縱橫項同時滾動的可能;
    更新GTAjax,修正增長對 Array.sort 的支持;
    增長對List View下的活躍記錄的全部字段值加粗顯示,響應鼠標事件;
    增長對JavaScript更多的異步調用,頁面提速更快;
    bugfix for getSelectOption;
    +checkSQLKeyword
    +allow multiple order fields

     

  4. 增刪改查搜算
    截至 InSiteSearch 功能發佈之後, -gMIS 的核心功能已經由 增刪改查 升級爲 增刪改查搜算 (Create, Retrieve, Update, Delete, +Search, +Statistics)。
    其中」搜」 指的是增長了站內搜索功能,而算 則是指 -gMIS 中的數據透視功能,能夠輕易地實現對目標數據表的各類維度的數據統計計算功能。
    能夠預見 -gMIS 將從普通的通用信息管理功能逐漸升級改進,增長更多的商業智能功能模塊,爲業務運營支撐提供更多的信息數據與決策支持。
     
  5. GitHub 被 Microsoft 收購
    會影響到 -gMIS 在 -Github 的託管與開源嗎?

 

gmis-logo-201606

-gMIS 是一種基於 -GWA2 的通用管理信息系統(Management Information System)軟件,具備可配置的輸入和輸出接口。
能夠在其上構建各類管理應用軟件系統,如
內容管理系統(CMS),客戶資源管理(CRM), 企業資源計劃管理(ERP),
辦公自動化系統(OA)等, 以及各類行業應用管理系統軟件,如
人力資源管理系統(HR),學生管理,檔案管理,旅遊管理,圖書管理,
商品管理及業務運營支撐系統等等。
實現零代碼開發、快速搭建各類管理信息系統(MIS).

-gMIS is a -GWA2 based Management Information System (MIS) software with configurable input and output interfaces.
Various management application software systems can be built on it, such as
Content Management System (CMS), Customer Resource Management (CRM), Enterprise Resource Planning Management (ERP),
Office automation systems (OA), as well as different industry application management system softwares, such as
Human Resource Management System (HR), Student Management, Archive Management, Tourism Management, Book Management,
Commodity management and business operations support systems, etc.
With zero code development, -gMIS can build a set of management information systems (MIS) software in a minute.

Lower Costs, Better Productivity.
下降成本, 提升效率.

-R/52SN 

相關文章
相關標籤/搜索