sphinx 不同索引使用相同的数据源

由于要使用@提示功能。但是现在的索引配置不能满足我们的要求。@要从人名开始处进行搜索。。

使用索引配置enable_star=1即可实现。。

于是。我使用了相同的数据源。服务于两个不同配置的索引。。

今天发现用户搜索没有更新。。查了半天。。原来sphinx的索引在进行服务时。会生成一个.spl锁文件。把数据源锁住。当第二个索引再次进行更新时。会出现没有*.new.文件的提示。。

再建一个数据源。。就可以了。

http://www.sphinxsearch.org/sphinx-faq

mysql子查询不支持limit的解决办法

mysql的子查询不支持limit。无奈百度。google之。解决方法是在前面再加一层select,例:

select * from weibo where id in (select id from weibo order by id desc limit 10);

报错

ERROR 1235 (42000): This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

加一层SELECT

SELECT * from weibo where id in (select id from (select id from weibo order by id desc limit 10)as a) limit 1;

json_encode返回null

今天发生一件怪事。。刚开始以为是smarty解析错误。但是日志一点错误没有。。找啊找。瞅了最后一句json_encode。果然是这哥们错了。。。但是日志没有报错。需要用json_last_error()捕获。

由于我对utf-8字符进行了错误的操作substr操作:

$html = ‘你好世界';

$html = substr($html, 0, 2);

var_dump(json_encode($html));

返回null

需要这样操作才可以

$html = mb_substr($html, 0, 2, ‘utf-8′);