pyparsing 2.x 案例(qbit)
前言 技術棧 Python 3.11 pyparsing 2.4.7 loguru 0.7.2 xmltodict 0.13.0 案例 測試解析 與 或 測試代碼 # encoding: utf-8 # author: qbit # date: 2023-12-14 # summary: pyparsing 2.x 解析測試,測試 AND OR import json i
前言 技術棧 Python 3.11 pyparsing 2.4.7 loguru 0.7.2 xmltodict 0.13.0 案例 測試解析 與 或 測試代碼 # encoding: utf-8 # author: qbit # date: 2023-12-14 # summary: pyparsing 2.x 解析測試,測試 AND OR import json i
前言 技術棧 Python 3.11 pyparsing 3.2.3 lark 1.2.2 loguru 0.7.2 案例 測試代碼 # encoding: utf-8 # author: qbit # date: 2024-04-23 # summary: 將與或非邏輯表達式轉換為 ES 表達式 import json import pyparsing as
前言 技術棧 Python 3.11 pyparsing 3.1.2 案例 測試代碼 # encoding: utf-8 # author: qbit # date: 2024-04-23 # summary: 化簡括號冗餘的與或非邏輯表達式 import pyparsing as pp line = '(((owner=111 AND doc_type=222))) OR
前言 技術棧 Python 3.11.8 fastapi 0.115.12 uvicorn 0.34.2 loguru 0.7.3 uvicorn 默認日誌沒有時間戳,看起來不方便,主動配置日誌格式,使得 uvicorn 打印的日誌格式和 loguru 的默認格式一致 uvicorn main:app --host 0.0.0.0 --port 8888 --log-config
前言 技術棧 python = "~3.11.8" PySocks = "~1.7.1" redis = "~6.2.0" 示例代碼 import socket import socks from redis import Redis # 設置 SOCKS5 代理 socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 1080) # 替換標準
前言 技術棧 Python 3.11.8 httpx 0.28.1 示例代碼 # encoding: utf-8 # author: qbit # date: 2025-06-30 # summary: httpx 使用代理下載文件 import httpx proxy = 'http://127.0.0.1:8081' def DownFile(url, file):
前言 本文對 Elasticsearch 7.17 適用,官方文檔 Token count field type 測試 新建 mapping PUT my_index { "mappings": { "properties": { "name": { "type": "keyword", "doc_values": true,
前言 技術棧 Python 3.11.8 websockets 15.0.1 aliyun-python-sdk-core 2.16.0 nls 1.0.0 截至 2025.3.13,nls.NlsSpeechTranscriber 不支持異步調用 使用 asyncio.run 或 loop.create_task 將異步調用轉化為同步調用 後文中,為保持字節
前言 簡要説明 TF-IDF 與 BM25 簡要説明 BM25 下 k1 和 b 參數調整 TF-IDF 與 BM25 TF-IDF TF是指歸一化後的詞頻 IDF是指逆文檔頻率 詞彙(word)的TF-IDF 句子(sentence)的TF-IDF BM 25 一句話解釋:BM 25 可以看做 TF-IDF 的變形,原理上是類似
前言 當前(2025.8.22) hao 分詞器 的最後版本為 8.7.1,qbit 需要使用 Elasticsearch 8.19.2 版本,升級編譯使用 hao 分詞器插件過程中遇到一些問題,記錄之 問題一:Inject 依賴注入 Elasticsearch 8.19 的 SDK 不再有 org.elasticsearch.common.inject.Inject 包,移除替換之
前言 本文對 Elasticsearch 7.17 適用 minimum_should_match 官方文檔:https://www.elastic.co/docs/reference/query-languages/query-d... 示例 case 1 minimum_should_match: 590% [1, 5] 全匹配 [6, ∞) 匹配 90%,下取整
前言 Elasticsearch 8.10 引入了同義詞 API,可以取代以前的同義詞文件 注意 synonyms_set 只能用於 search_analyzer,不能用於 index analyzer 案例 創建或更新同義詞集合 PUT _synonyms/test_syn_set { "synonyms_set": [ { "id": "pc",
前言 軟件版本 docker: 20.10.8 docker-compose: 1.29.2 Docker Github 倉庫: https://github.com/docker 容器內 SHELL 進入容器內 shell docker exec -it nextcloud bash 容器的拉取、查看、運行、重啓 搜索容器(nginx) $
前言 技術棧 python 3.11.8 pyparsing 3.2.1 regex 2024.11.6 測試案例 測試代碼 # encoding: utf-8 # author: qbit # date: 2025-02-05 # summary: 使用 pyparsing 和 sympy 化簡與或非邏輯表達式 import pyparsing as pp
前言 測試環境 Python 3.8 yarl 1.8.1 本文主要是對比易用性,無關性能 yarl 官方文檔:https://yarl.aio-libs.org/en/... url 組成部分 yarl VS. urllib 獲取 url 參數 urllib from urllib import parse url = r'https://docs