3

我有一个单字段 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)

谁能告诉我什么给了?

4

1 回答 1

4

事实证明,Sphinx 在创建实时索引后不会读取对配置文件的修改:有关信息,请参见此处。

解决这个问题的方法是:

sudo service sphinxsearch stop

然后删除所有索引文件(对我来说/var/lib/sphinxsearch/data/):

sudo rm main_sphinxalert.*

然后重启服务:

sudo service sphinxsearch start

这意味着您丢失了现有索引,然后必须从数据库手动重建。

于 2013-04-22T13:14:52.030 回答