Sphinx sql\u查询\u killlist被忽略

Sphinx sql\u查询\u killlist被忽略,sphinx,sphinxql,Sphinx,Sphinxql,我试图让主索引正常工作,但无论我做什么,删除的文档仍然会显示为SphinxQL结果。我的斯芬克斯版本是2.0.4 sphinx.conf文件的一部分: source torrents { type = mysql sql_host = localhost sql_user = torrents sql_pass = torrents sql_db = torrents sql_po

我试图让主索引正常工作,但无论我做什么,删除的文档仍然会显示为SphinxQL结果。我的斯芬克斯版本是2.0.4

sphinx.conf文件的一部分:

source torrents
{
    type        = mysql

    sql_host        = localhost
    sql_user        = torrents
    sql_pass        = torrents
    sql_db      = torrents
    sql_port        = 3306
    sql_sock        = /var/run/mysqld/mysqld.sock

    sql_query_range     = SELECT MIN(id), MAX(id) FROM torrents
    sql_range_step      = 1000
    sql_query           = \
                            SELECT torrents.id, torrents.id, text_data.torrent, language_id, category, title, words, HEX(torrents.code) as code, sum(trackers_torrents.seeds) as seeds, sum(trackers_torrents.peers) as peers, size, creation_date, rating FROM `text_data` \
                            LEFT JOIN `torrents` ON torrents.id = text_data.torrent \
                            LEFT JOIN `trackers_torrents` ON trackers_torrents.torrent = torrents.id \                            
                            WHERE text_data.torrent >= $start AND text_data.torrent <= $end \
                            AND `trackers_torrents`.status = 'ok' AND `torrents`.is_stopword = 0 \
                            GROUP BY text_data.torrent \
                            ORDER BY text_data.torrent ASC \

    sql_attr_uint   = torrent
    sql_attr_uint       = language_id
    sql_attr_string     = title
    sql_field_string    = words
    sql_attr_string = code
    sql_attr_uint       = seeds
    sql_attr_uint       = peers
    sql_attr_uint   = category
    sql_attr_bigint     = size
    sql_attr_bigint = creation_date
    sql_attr_uint   = rating

    sql_query_pre   = SET NAMES utf8
    sql_query_pre   = SET SESSION query_cache_type=OFF

    sql_query_killlist  = SELECT torrent_id FROM stopwords_torrents
}
我的stopwords\u torrents表如下所示:

mysql> select * from stopwords_torrents;
+----+------------+
| id | torrent_id |
+----+------------+
|  2 |      14115 |
+----+------------+
1 row in set (0.00 sec)
当您进入SphinxQL

mysql -h 0 -P 9306
如果输入这个,我仍然会得到已删除的文档。这是为什么

mysql> select id, torrent, code from all_torrents WHERE id = 14115;
+-------+--------+---------+------------------------------------------+-------+
| id    | weight | torrent | code                                     | id    |
+-------+--------+---------+------------------------------------------+-------+
| 14115 |      1 |   14115 | 4956A4E976EA948025C3C3554567CA2820F65F64 | 14115 |
+-------+--------+---------+------------------------------------------+-------+
1 row in set (0.00 sec)

索引上的终止列表从以前的索引中删除文档。不是当前索引

它用于查询多个索引。搜索一个索引时,它将无效

如果要从结果中删除文档,只需修改
sql\u query
即可直接将其排除

mysql> select id, torrent, code from all_torrents WHERE id = 14115;
+-------+--------+---------+------------------------------------------+-------+
| id    | weight | torrent | code                                     | id    |
+-------+--------+---------+------------------------------------------+-------+
| 14115 |      1 |   14115 | 4956A4E976EA948025C3C3554567CA2820F65F64 | 14115 |
+-------+--------+---------+------------------------------------------+-------+
1 row in set (0.00 sec)