MySQL是一個開源的關系型數據庫管理系統,可用于存儲、管理和處理數據,支持SQL語言,具備高性能、可靠性和擴展性等優點。MySQL常用于Web應用中的數據存儲,如電子商務平臺、社交網絡、內容管理系統等。
Sphinx是一個全文搜索引擎軟件,可用于快速、精準地搜索文本內容,支持多種語言,如MySQL、PostgreSQL、Oracle、MongoDB等。Sphinx可以通過索引搜索文檔、文章、產品、郵件、網頁等,支持關鍵詞匹配、模糊搜索、排序、過濾等功能。
Python是一種高級編程語言,具有簡潔優美、易讀易寫、可移植性和強大的標準庫等優點。Python可用于Web開發、數據分析、人工智能、科學計算等領域,支持多種數據庫連接庫和搜索引擎API,如MySQLdb、PyMySQL、psycopg2、mongoengine、elasticsearch-py等。
import MySQLdb import sphinxapi # 連接MySQL數據庫 conn = MySQLdb.connect(host="localhost", user="root", passwd="password", db="mydb") cur = conn.cursor() # 創建Sphinx客戶端 client = sphinxapi.SphinxClient() client.SetServer("localhost", 9312) # 查詢索引中的文檔 res = client.Query("搜索關鍵詞") # 處理搜索結果 if res and res.has_key("matches"): matches = res["matches"] for match in matches: doc_id = match["id"] weight = match["weight"] query = "SELECT * FROM mytable WHERE id=%s" % doc_id cur.execute(query) rows = cur.fetchall() print(rows) # 關閉數據庫連接 cur.close() conn.close()