前面的文章有提到 Elasticsearch 因為是使用反向索引,所以會在建立 Document 時將句子拆開來以建立反向索引。而這個拆分的過程就是由分析器所執行的,分析器主要由三個部分所組成 :
- Character Filters (字符過濾器)
- Tokenizer (分詞器)
- Token Filter (單詞過濾器)
下面我們就來了解分析器是如何運作的。
前面的文章有提到 Elasticsearch 因為是使用反向索引,所以會在建立 Document 時將句子拆開來以建立反向索引。而這個拆分的過程就是由分析器所執行的,分析器主要由三個部分所組成 :
下面我們就來了解分析器是如何運作的。
Elasticsearch 提供了一套功能強大的擴充套件 - X-Pack,X-Pack 包含了安全、警告、監視、圖形、報告等等的功能集合在一起。而其中也包含了使用 SQL 語法來查詢 Elasticsearch 的功能。
Elasticsearch 的搜尋提供了許多的語法來進行查詢,透過組合這些語法可以查詢出各式各樣的結果。
Elasticsearch 是一個分散式的搜尋引擎,建立在全文搜尋引擎庫 Apache Lucene 的基礎上。而 Elasticsearch 透過提供 Restful 介面的方式來隱藏 Lucene 複雜的搜索理論,使其可以被快速的架設和使用。
此外,Elasticsearch 具有很高的可擴充性和可用性,使其在儲存、索引和搜尋都非常快速、容易。
當你使用 Visual Studio 來開發 .Net 專案時,如果想要重新命名專案你會發現只是重新命名專案的名稱是無法完成的,還需要更改專案資料夾名稱、Namespace 等等。常常改完發現還是編譯失敗,代表還有地方沒改到。
既然在 Visual Studio 裡不太好改,那我們可以改成直接去修改 Visual Studio 建立的這些檔案。
Nginx 是一種非同步框架的網頁伺服器,可以用作反向代理、負載平衡器和 HTTP 快取,通常做為負載平衡器。
Nginx 為軟體負載平衡,硬體負載平衡常見的有 F5、A10
在 Redis 系列文章的第一篇 Redis (一) - 基本概念 我們有介紹過 Redis 是一個 in-memory 的資料庫,所以資料都會被儲存在記憶體中,這樣的好處是可以提升資料的存取速度。
以往想要將資料放在記憶體來提升存取速度大多是使用 Session 來達成,但是 Session 會因為電腦或伺服器被關閉而被清除。更麻煩的問題是當一個應用要部署到多台伺服器上來分散流量的話 Session 就會不同步,這樣會導致資料和結果不正確。
前幾篇我們介紹了 Redis 的一些概念和操作方式,都是偏向如何使用 Redis。所以這篇就要來介紹如何管理 Redis Server。
Redis Transaction 可以一次執行多條命令,並且具有以下規範以保證執行無誤。
Transaction 的多條命令是被一次性的發送給伺服器而不是一條一條的傳送,這樣的方式可以減少客戶端與伺服器之間的網路通訊次數以提升效能。