我有一个单字段Sphinx索引,其中的词干设置如下:
index main_sphinxalert
{
# Options:
type = rt
path = /var/lib/sphinxsearch/data/main_sphinxalert
morphology = stem_en
# Fields:
rt_field = query
}
然后我插入:
mysql> INSERT INTO main_sphinxalert VALUES(201,'tables');
Query OK, 1 row affected (0.00 sec)
选择:
mysql> SELECT * FROM main_sphinxalert WHERE MATCH('tables');
+------+--------+
| id | weight |
+------+--------+
| 201 | 1709 |
+------+--------+
1 row in set (0.00 sec)
但不能在词干上选择:
mysql> SELECT * FROM main_sphinxalert WHERE MATCH('table');
Empty set (0.00 sec)
谁能告诉我是什么给了什么?
答案 0 :(得分:3)
结果表明,Sphinx在创建实时索引后不会读取对配置文件的修改:see here for info.
解决这个问题的方法是:
sudo service sphinxsearch stop
然后删除所有索引文件(对于我在/var/lib/sphinxsearch/data/
中保存):
sudo rm main_sphinxalert.*
然后重启服务:
sudo service sphinxsearch start
这意味着您将丢失现有索引,然后必须从数据库中手动重建索引。