TrieTree服務續篇 元件構成及其作用

2021-09-21 12:15:53 字數 1203 閱讀 2463

trietree服務由幾大元件組成,如下圖

dictionary元件是核心庫,主要提供基本資料定義、配置資訊定義,資料結構表示,同時也提供了postype(參考pangu的part of speech定義)。由於trietree是利用記憶體來載入資料的,所以這個元件的設計直接決定了記憶體的占用大小和資料查詢效能。dictionary.providers元件主要負責提供各種自定義資料提供者(dataprovider),你可以把它理解為字典資料的載入器,例如自帶的pangudictproviders就是負責載入盤古自己的dict格式的字典。trietree服務的載入器是高度可配置的,你可以通過配置檔案來選擇你需要使用的載入器,如下所示:

?

1

2

3

4

dictionaryservice元件是trietree服務的容器元件,主要包含了windows服務的實現,還有windows服務的安裝器。這個元件是乙個控制台程式,它為使用者提供了兩種執行模式——除錯模式和service模式。除錯模式就是直接執行控制台,提供基於log4net的日誌資訊,方便除錯和斷點;而service模式是直接執行為乙個windows服務,主要用於測試與生產環境。由於是控制台程式,切換模式是通過引數完成的,例如-i 表示安裝windows服務,-u表示解除安裝windows服務, -c表示啟動控制台模式。

以上便是trietree服務的三大核心元件,但我還打算介紹乙個非常實用的附加元件dictionaryquery。

雖然名字也叫查詢分析器,但其實和sql的查詢分析器不是乙個級別的,你不用去比較,沒啥意思。這東西主要是兩個作用,第一,測試trietree服務的運**況;第二,檢查載入字典後字典中的詞的狀態。你也可以用右側的pos過濾器進行篩選,多選表示或的關係,比如你選擇了地名和人名,你搜尋「上海」,結果是「上海, 頻率:251, 型別:地名(a_ns)」,如果找不到的話會顯示紅色的「未找到合適詞」,如下所示。

你還可以選擇匹配的方式,即最大正向匹配、最大反向匹配和完全匹配,這個就不用我多解釋了吧。對了,執行這玩意之前字典服務必須開啟,且你要指向你配置的trietree服務的埠,預設是7010,圖中配置的是dict:注意字典服務的uri是以dict://開頭的。

SpringCloud Eureka服務構建

匯入依賴 編寫配置檔案 啟動服務 org.springframework.cloudgroupid spring cloud starter netflix eureka serverartifactid 2.2.5.releaseversion dependency server port 700...

不用伺服器也能跑的框架 wojilu 續篇

首先,感謝各位看了上次那篇不用伺服器也能跑的框架 wojilu 首先請看一下這篇博文對iis的原理的解釋 感謝原作者的文章 iis工作原理 摘錄一段原文 當伺服器接收到乙個 http請求的時候,iis 首先需要決定如何去處理這個請求 note 伺服器處理乙個.htm頁面和乙個.aspx頁面肯定是不一...

元件服務問題

依次開啟元件服務 計算機 我的電腦會出現紅色向下箭頭 右鍵找不到屬性選項 解決辦法如下 在 服務 裡找到這三個服務,都啟動就行了 distributed transaction coordinator remote procedure call rpc security accounts manag...