2017-05-25 70 views
0

我们有MariaDB和Sphinx搜索引擎。 其中一个表有大量数据。而目前的max_doc_id 849826469.但有人添加了ID小于max_doc_id的行。我无法更改ID,因为它用于外部索引,现在我们有很多相关数据。如何在Sphinx Search中手动添加行到索引?

所以这行不会添加到索引,但它应该。

我该怎么做?

source srcmos 
{ 
    type   = mysql 
    sql_host  = 127.0.0.1 
    sql_user  = root 
    sql_pass  = 
    sql_db   = dev_db 
    sql_port  = 3306 # optional, default is 3306 
    sql_query_pre = REPLACE INTO sphinx_counter SELECT 1, MAX(id) FROM mos 

    sql_attr_uint = campaign_id 
    sql_query_range = SELECT MIN(id),MAX(id) FROM mos WHERE id <= (SELECT max_doc_id FROM sphinx_counter WHERE id=1) 
    sql_range_step = 10000 
    sql_query  = SELECT mos.id, campaign_id, body FROM mos WHERE mos.id>=$start AND mos.id<=$end 
} 
+0

您应该在安装程序中提供有关Sphinx索引的其他信息。 – hank

+0

@hank,发布更新 –

+0

你不能增加任何东西到一个普通的狮身人面像索引。只需重新索引它。 – hank

回答

0

听起来像你有一个32位安装。将需要64位安装。构建版本中使用id64的版本

+0

我添加了其他信息 –