Elasticsearch 用 random_score 進行隨機抽樣


Elasticsearch 中存放大量的資料(或稱文件 document)時,一般難以片刻就遍訪每 1 筆資料,如果是為了驗證資料格式,或者需要資料進行實驗,此情況下可選擇用抽樣的方式進行,不僅可利用抽樣的方式預估整個資料庫的情況,也可以有效率地以部分資料進行實驗。

本文記錄如何以 function_score 結合 random_score 進行隨機抽樣。

Python multiprocessing 模組進階說明與範例


先前 Python multiprocessing 模組簡單說明與範例 一文簡述 multiprocessing 模組中 Pool, Manager 的使用方法,也講述如何在多個 Processes 之間共享資料,不過仍有許多關於 multiprocessing 中的功能尚未詳述,例如 Process 類別(class), Queue, Pipe 等等,這些功能不僅重要也很實用,是邁向 Python 高階功能的必學項目,因此不可忽視。

本文將透過實際範例了解更多關於 multiprocessing 模組中實用的功能。

jq 實戰教學


隨著 JSON 格式作為資料交換格式大行其道,使用工具對 JSON 資料進行操作也逐漸成為家常便飯,各種工具中, jq 可說是一套十分易於操作的 JSON 操作工具。

本文將透過實際資料學習如何使用 jq 。

用 Docker 架設 Elasticsearch 實驗環境


Elasticsearch 已經是現今開發者欲實現搜尋功能的一條捷徑,其易用的框架以及便利的 API(Application Programming Interface) 都十分易於開發與整合,所以許多網頁或 APP 應用中的搜尋功能其實背後都使用 Elasticsearch 進行建構,因此學會如何使用 Elasticsearch 也是相當值回票價的一件事。

本文將利用 Docker 建立 Elasticsearch 的實驗環境,給予初學者一個進入 Elasticsearch 世界的方便之門。

Python 模組介紹 - bisect


談到插入(insert)元素到已排序串列(list) ,最暴力的方法就是每次插入元素後直接排序:

>>> a = [1, 2, 3, 4]
>>> a.insert(0, 5)
>>> a
[5, 1, 2, 3, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

不過隨著串列越來越長,每次插入元素後再進行排序的方式,將會越來越慢,甚至造成大量不必要的運算,這時可以利用 Python 內建模組 bisect ,透過二元搜尋的方式幫我們插入元素到串列之中,如此一來該串列就不需要在新增元素後進行排序。

p.s bisect 只能運用在已排序過的串列(list)

Docker MongoDB 初體驗


MongoDB 是知名的 NoSQL 資料庫,也是現今後端資料庫很常見的解決方案之一。而 MEAN/MERN 架構中的 M 也指的是 MongoDB, 可見其重要程度不言而喻。

p.s. MEAN (MongoDB, express.js, Angular, Node.js)

p.s. MERN (MongoDB, express.js, React, Node.js)

且隨著現代應用的演化,同時使用傳統關聯式資料庫以及 NoSQL 資料庫也十分常見,如果想體驗/練習 NoSQL 資料庫,不妨就透過 Docker 實際操作看看。

12321