原创 ElasticSearch中"distinct","count"和"group by"的實現

原文地址 https://www.jianshu.com/p/62bed9cc8349 最近在業務中需要使用ES來進行數據查詢,在某些場景下需要對數據進行去重,以及去重後的統計。爲了方便大家理解,特意從SQL角度,方便大家能夠

原创 Ansible 安裝測試

前言 最近看招聘網站上都有這麼一條, 熟悉Ansible的部署和安裝…看了很多家公司都驚人的一致, 那麼怎麼辦呢? 開搞唄 安裝Ansible yum install ansible -y 修改配置文件 配置文件地址爲 /etc

原创 es 平行多次聚合查詢

需求 比如說我有 city, source, company, user等字段, 然後需要根據 user 字段來查出 各城市對應的 source, company字段, 即同樣條件不同字段聚合, 如下 user city com

原创 mongo聚合統計數量

前言 其實mongo聚合語法都是一樣的, 只不過類型不同的部分需要做一些處理 聚合字符串 這種指定單條的聚合直接用聚合語句就可以 res = list(mongoclient.aggregate([{"$group": {"_

原创 記一次mysql 執行查詢語句卡死的問題

背景 兩張表裏面都有上億條數據, 寫了一條左聯的查詢語句, 比如這樣 select a.city, b.value from tablea as a left join tableb as b on a.cid = b.cid w

原创 es keyword和text的區別以及聯想詞實現方案

keyword和text的區別 相同 支持模糊查詢和精確查詢 不同 分詞 keyword 不分詞 text 分詞 聚合查詢 keyword 支持 text 不支持 聯想詞實現方案 內容 基於es的keyword和tex

原创 mysql ORDER BY自定義排序

前言 最近一直在忙公司新項目開發, 主要是用go開發後端功能, 所以一直都沒時間寫博客了, 也不知道要寫些啥, 正好剛有個朋友問我排序的問題, 平常用的也比較多, 這裏寫一篇劃波水 (用Go一時爽, 一直用Go一直爽) 開始表演

原创 Go實現隨機加鹽密碼認證

爲什麼要加密 人們往往有使用同一密碼的習慣, 爲了防止數據庫意外泄露/破壞和出於保護用戶隱私的目的, 不應在數據庫裏存入用戶密碼明文 實現 代碼 package main import ( "fmt" "golang.org

原创 ElasticSearch update

官網文檔地址 1 - 單個更新指定字段 update table set first_time = 1 where id=1 POST test/doc/1/_update { "doc": { "first_tim

原创 Docker私有倉庫搭建&Go服務部署

前言 最近有個朋友在寫一個新的項目, 想用docker搭建一套測試服務, 問我有沒有什麼坑需要注意的…其實挺簡單的, 也沒啥坑, 注意一下時區問題和docker配置就好了 大體流程 搭建私有倉庫 docker pull regis

原创 go 發送http請求

寫了一下go發送http請求常用的幾種方法 package main import ( "net/http" "io/ioutil" "fmt" "strings" "net/url" "bytes" "encod

原创 Go 接收未知大小文件並轉爲對應大小的byte字節流

前言 場景是我的接口需要接收一個文件, 我需要把他轉爲 []byte 類型, 但是我不知道文件的大小, 用make創建的不能動態擴容, 導致如果我寫死的話所有文件都會變成我寫死的那個大小, 造成資源浪費 解決方案 // 接受文件

原创 go 數據導出Excel&前臺接收後端返回文件流並在瀏覽器提供下載

前言 我還有一個朋友, 最近要實現一個數據導出excel的功能, 來看一下主要怎麼實現吧 實現 主要用到了 https://godoc.org/github.com/tealeg/xlsx 測試腳本 package main

原创 python調用redis-cell(CL.THROTTLE)

前言 我有一個朋友, 在我剛發完上面那篇限流功能實現之後問我, 爲啥沒有寫用python調用redis-cell的方法, 在網上也沒有找見案例, 我瞅瞅還真是, 機會來了, 可以水一篇文章 其實實現也很簡單, 只不過因爲這個要用

原创 gorm批量插入解決方案

我有一個朋友, 最近用gorm發現官方不支持批量插入, 看官方issue 2014年就有人提過這個問題了, 不過現在還不支持 但是問題不大, 官方留出來一個執行原生SQL(db.Exec)的方法來解決這個問題, 而且官方現在在開