背景 在13年的時候,我開始負責整個公司的搜索引擎。嗯……,不是很牛的那種大項目負責人。而是整個搜索就我一個人做。哈哈。 後來跳槽之後,所經歷的團隊都用Elasticsearch,基本上和緩存一樣,是項目必備的工具。目前靜兒在做的項目中也在用,正好系統學習一下。畢竟靜兒的夢想就是打造自己的搜索引擎。 ...
背景
在13年的時候,我開始負責整個公司的搜索引擎。嗯……,不是很牛的那種大項目負責人。而是整個搜索就我一個人做。哈哈。
後來跳槽之後,所經歷的團隊都用Elasticsearch,基本上和緩存一樣,是項目必備的工具。目前靜兒在做的項目中也在用,正好系統學習一下。畢竟靜兒的夢想就是打造自己的搜索引擎。
目錄
1.近實時(NRT NearRealtime)
2.集群(Cluster)
3.節點(Node)
4.索引(Index)
5.文檔(Document)
6.分片和副本(Shards & Replicas)
7.緩存數據(fielddata)
8.文檔值(doc values)
9.行為模式(norms)
10.召回率(Recall Rate)
11.準確率(Precision)
正文
1.近實時(NRT NearRealtime)
ES是一個近實時的搜索平臺,就是說從開始創建索引到能被搜索到只有很少的延時(通常是1s)。
2.集群(Cluster)
集群是一個或者多個節點(Node)協同工作來承載所有的數據,並提供跨所有節點的索引和搜索能力。一個集群有一個唯一名稱作為標識,預設叫「elasticsearch」。因為在有多個節點的情況下,節點都是通過集群名來確定被安裝到哪個集群,所以集群名很重要。
3.節點(Node)
節點是集群的一部分,就是集群里的一個伺服器。它存儲著數據,給提供集群的索引和搜索能力。像集群一樣,一個節點也是用名稱來做標識。它預設是一個在節點啟動時被指定的隨機UUID(Universally Unique Ientifier全局唯一標識)。如果不想用預設值,也可以自定義節點名。因為它是作為網路中的伺服器和節點關係的紐帶,所以這個名字對集群的管理來說很重要。
4.索引(Index)
索引是有相同特性的文檔集合。舉個慄子