原创 epoll的本質 (3)
上篇回顧 四、內核接收網絡數據全過程 五、同時監視多個socket的簡單方法 六、epoll的設計思路 七、epoll的原理和流程 本節會以示例和圖表來講解epoll的原理和流程。 創建epoll對象 如下圖所示,當某個進程調用epoll
原创 Elasticsearch基礎整理-Elasticsearch Lucene 數據寫入原理
ES基礎 數據模型 邏輯概念 ES本身是schema less的,有比較特殊的字段需要通過Mapping設置一下,每個數據點就是一行數據Document,ES數據分類通過Index這層完成的 Elassticsearch的基礎概念-數據
原创 elasticsearch系列四:搜索詳解(搜索API、Query DSL)
原文鏈接:https://www.cnblogs.com/leeSmall/p/9206641.html 一、搜索API 1. 搜索API 端點地址 從索引tweet裏面搜索字段user爲k
原创 elasticsearch系列五:搜索詳解(查詢建議介紹、Suggester 介紹)
原文鏈接:https://www.cnblogs.com/leeSmall/p/9206646.html 一、查詢建議介紹 1. 查詢建議是什麼? 查詢建議,爲用戶提供良好的使用體驗。主要包括
原创 elasticsearch系列六:聚合分析(聚合分析簡介、指標聚合、桶聚合)
原文鏈接:https://www.cnblogs.com/leeSmall/p/9215909.html 一、聚合分析簡介 1. ES聚合分析是什麼? 聚合分析是數據庫中重要的功能特性,完成對
原创 elasticsearch系列三:索引詳解(分詞器、文檔管理、路由詳解(集羣))
原文鏈接:https://www.cnblogs.com/leeSmall/p/9195782.html 一、分詞器 1. 認識分詞器 1.1 Analyzer 分析器 在ES中一個A
原创 elasticsearch系列八:ES 集羣管理(集羣規劃、集羣搭建、集羣管理)
原文鏈接:https://www.cnblogs.com/leeSmall/p/9220535.html 一、集羣規劃 搭建一個集羣我們需要考慮如下幾個問題: 1. 我們需要多大規模的集羣? 2
原创 elasticsearch系列二:索引詳解(快速入門、索引管理、映射詳解、索引別名)
原文鏈接:https://www.cnblogs.com/leeSmall/p/9193476.html 一、快速入門 1. 查看集羣的健康狀況 http://localhost:9200/_c
原创 elasticsearch系列七:ES Java客戶端-Elasticsearch Java client
原文鏈接:https://www.cnblogs.com/leeSmall/p/9218779.html 一、ES Client 簡介 1. ES是一個服務,採用C/S結構 2. 回顧 E
原创 elasticsearch系列一:elasticsearch(ES簡介、安裝&配置、集成Ikanalyzer)
原文鏈接:https://www.cnblogs.com/leeSmall/p/9189078.html 一、ES簡介 1. ES是什麼? Elasticsearch 是一個開源的搜索引擎,建立
原创 epoll的本質 (2)
上篇回顧 一、從網卡接收數據說起 二、如何知道接收了數據? 三、進程阻塞爲什麼不佔用cpu資源? 四、內核接收網絡數據全過程 這一步,貫穿網卡、中斷、進程調度的知識,敘述阻塞recv下,內核接收數據全過程。 如下圖所示,進程在recv
原创 epoll的本質(1)
要讓讀者清晰明白EPOLL爲什麼性能好。 本文會從網卡接收數據的流程講起,串聯起CPU中斷、操作系統進程調度等知識;再一步步分析阻塞接收數據、select到epoll的進化過程;最後探究epoll的實現細節。目錄: 一、從網卡接收數據說起
原创 Linux 中內存 buffer 和 cache 的區別
細心的朋友會注意到,當你在Linux下頻繁存取文件後,物理內存會很快被用光,當程序結束後,內存不會被正常釋放,而是一直作爲caching.這個問題,貌似有不少人在問,不過都沒有看到有什麼很好解決的辦法.那麼我來談談這個問題。 先來說說fr
原创 爲何大量網站不能抓取?爬蟲突破封禁的6種常見方法
在互聯網上進行自動數據採集(抓取)這件事和互聯網存在的時間差不多一樣長。今天大衆好像更傾向於用“網絡數據採集”,有時會把網絡數據採集程序稱爲網絡機器人(bots)。最常用的方法是寫一個自動化程序向網絡服務器請求數據(通常是用 HTML 表