Sphinx远程查询

时间:2012-09-13 11:59:13

标签: sphinx thinking-sphinx

我有一个带有两个索引的Sphinx实例:main和delta。增量索引选择在上次合并后修改的文档。这包括带有新ID的文档和已有ID的文档。

我按照常用方法创建了一个远程查询(文档中的最小和最大ID以及1000条记录的步骤)。这种方法的问题在于,在包含1M文档的数据库中,将会有大量查询返回任何内容,因为远程查询涵盖了所有ID。 即:

sql_query_range = SELECT MIN(id),MAX(id) FROM documents
sql_range_step = 1000
sql_query = SELECT * FROM documents where modified_date > (select merge_date from SphinxTable)
WHERE id>=$start AND id<=$end

有什么方法可以定义我的sql范围查询,以便索引器只迭代修改的记录而不是整个数据库? (并且由于c的缩短范围而执行较少的查询)

1 个答案:

答案 0 :(得分:2)

正如我在回答您的其他问题时所说,会做类似

的事情
sql_query_range   = SELECT (SELECT maxID from SphinxTable),MAX(id) FROM documents