原创 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 表