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 它的資料是要通過程式利...