Sphinx全文索引 第一節

2022-04-12 16:06:14 字數 1409 閱讀 8767

1 使用場景:用來解決站內搜尋的一些應用場景。

**中的搜尋(站內搜尋)

系統後台中的搜尋

第一種方式:php——>mysql

第二種方式:mysql<——>sphinx;php——>sphinx。

mysql全文索引引擎也可以解決站內搜尋,當資料庫某張表資料量大的時候,做搜尋花費時間多。

mysql:新增索引 alert table 表名 add index 隨便起索引名字(字段)

sphinx將mysql資料生成乙個索引資料表供前台檢索可以提高檢索效率。

2 sphinx

sphinx是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。

sphinx特別為一些指令碼語言設計搜尋api介面,如php,python,perl,ruby等,同時為mysql也設計了乙個儲存引擎外掛程式。

sphinx 單一索引最大可包含1億條記錄,在1千萬條記錄情況下的查詢速度為0.x秒(毫秒級)。

sphinx建立索引的速度為:

建立100萬條記錄的索引只需 3~4分鐘,建立1000萬條記錄的索引可以在50分鐘內完成,而只包含最新10萬條記錄的增量索引,重建一次只需幾十秒。

sphinx的主要特性包括:

高速索引 (在**cpu上,近10 mb/秒); 

高速搜尋 (

2-4g的文字量中平均查詢速度不到0.1秒);

高可用性 (單cpu上最大可支援100 gb的文字,100m文件);

提供良好的相關性排名 支援分布式搜尋; 提供文件摘要生成;

提供從mysql內部的外掛程式式儲存引擎上搜尋 支援布林,短語, 和近義詞查詢;

支援每個文件多個全文檢索域(預設最大32個);

支援每個文件多屬性;

支援斷詞;

支援單位元組編碼與utf-8編碼;

3 兩個重要的工具indexer 和 searched

indexer:用於建立索引資料

/user/bin/indexer -config /etc/sphinxsearch/sphinx.conf -all

searched:後台程序,使用indexer工具生成的資料做查詢

4 索引檔案儲存的資料種類

.spa 儲存文件屬性

.spd 儲存每個詞id可匹配的文件id列表

.sph 儲存索引頭資訊

.spi 儲存詞列表

.spm 儲存mva資料

.spp 儲存每個詞的命中列表

5 檢視sphinx資料

sphinx進入mysql的命令:

mysql -h0 -p9306(sphinx與資料庫互動的埠號)

第一節綜述

shader是什麼?shader是著色器。渲染流水線的概念?渲染流水線的工作任務在於由乙個三維場景出發,生成一張二維影象。渲染流程分為3個階段 應用階段 幾何階段 光柵化階段。1 應用階段 由cpu負責實現,由開發者主導。最重要的輸出是渲染所需的幾何資訊,即渲染圖元。這些渲染圖元傳遞給幾何階段。2 ...

第一節 熱機

一.熱機 內燃機是熱機的一種,以汽油或柴油為燃料 二.汽油機 練1.三.柴油機 練2.從能量轉化的角度看,一台四衝程內燃機在乙個迴圈中 1 哪個衝程存在著化學能轉化為內能的過程?2 哪個衝程存在著內能轉化為機械能的過程?3 哪個衝程具有很明顯的機械能轉化為內能的過程?練3.關於單缸四衝程內燃機,下列...

第一節 linux c編譯

在linux中開發c或c 程式的步驟 先用vim編輯c或c 程式 c儲存為.c c 儲存為.cc 或.cpp檔案 對於.c格式的c檔案,可以採用gcc或g 編譯 對於 cc cpp格式的c 檔案,應該採用g 進行編譯 gcc編譯過程 gcc所支援字尾名 預處理階段 對包含的標頭檔案 include ...