sphinx的實時索引

2021-08-02 11:53:59 字數 1018 閱讀 4113

sphinx目前出來乙個realtime index即實時索引

據官方透露,目前已經開始可以在生產環境使用

他可以使用sphinxql用mysql協議進行查詢新增更新資料

看起來像乙個mysql一樣,不過他支援全文檢索,新更新進去的資料會自動索引達到實時索引的程度

但是他也有缺點,比如經常更新會導致記憶體增長

在記憶體中的資料如果不及時寫入硬碟,出現中斷會丟失資料

只支援部分sql語句,前段時間簡單測試了一下

如果資料量巨大他會變得緩慢,在記憶體資料往硬碟寫的時候會卡幾秒

下面是sphinx.conf內的一段關於實時索引的語句

index rt

searchd

啟動searchd後

shell下命令

mysql -p 9306 -h 127.0.0.1

連線sphinx

新增資料

insert into rt values(3,'test',1,2);

注意,第乙個字段必須指定值,因為id是sphinx內指定的唯一id

我用指令碼新增了一批隨機資料

下面可以用sql查詢

select * from rt 

order by id desc limit 1;

+---------+--------+------+-------+

| id 

| weight | gid 

| guid 

| +---------+--------+------+-------+

| 2613327 | 

1 | 

179 | 45759 |

+---------+--------+------+-------+

1 row in set (0.57 sec)

如果不執行全文檢索,那麼效能和沒有建立索引的mysql效果是一樣

其中weight是結果匹配權重

使用matchs在where內可以做全文檢索

2.0.6官方文件**:

Sphinx實時索引

1,首先建立乙個表用來儲存主索引和增量索引的id值 create table if not exists sph counter s id int 10 unsigned not null auto increment,p id int 11 not null,primary key s id 2,...

Sphinx 實時索引

index rtsearchd 實時索引不需要indexer,直接開啟searchd。usr local sphinx bin searchd c usr local sphinx etc csft rt.conf sphinx的實時索引配置本身並不需要資料來源 source 它的資料是要通過程式利...

Sphinx 實時索引

index rtsearchd 實時索引不需要indexer,直接開啟searchd。usr local sphinx bin searchd c usr local sphinx etc csft rt.conf sphinx的實時索引配置本身並不需要資料來源 source 它的資料是要通過程式利...