首页 > 代码库 > sphinx教程 区段查询配置 命令(2)

sphinx教程 区段查询配置 命令(2)

首先查看配置文件 sphinx.conf

   区段查询配置:  

# in sphinx.conf

sql_query_range = SELECT MIN(id),MAX(id) FROM documents
sql_range_step = 1000
sql_query = SELECT * FROM documents WHERE id>=$start AND id<=$end

  如果这个表中,字段ID的最小值和最大值分别是1和2345,则sql_query将执行3次:      

    1. 将 $start 替换为1,并且将 $end 替换为 1000;
    2. 将 $start 替换为1001,并且将 $end 替换为 2000;
    3. 将 $start 替换为2001,并且将 $end 替换为 2345.

后查询(sql_post) vs. 索引后查询(sql_post_index)

  后查询和索引后查询的区别在于,当Sphinx获取到全部文档数据后,立即执行后查询,但是构建索引的过程仍然may因为某种原因失败。在另一方面,当索引后查询被执行时,可以理所当然的认为索引已经成功构造完了。因为构造索引可能是个漫长的过程,因此对与数据库的连接在执行后索引操作后被关闭,在执行索引后操作前被再次打开。

 

sphinx教程 区段查询配置 命令(2)