(По материалам Aurimas Mikalauskas с http://www.percona.com/) По умолчанию sphinx ищет по индексу в одном потоке. То есть, дефолтный конфиг выглядит схематично так: source src1 { type = mysql sql_query = SELECT id, text FROM table } index idx1 { type = plain source = src1 } searchd { dist_threads = 0 # default } Но есть возможно заставить sphinx искать одновременно в несколько потоков. Для этого индекс нужно "партицировать": source src1 { type = mysql sql_query = SELECT id, text FROM table } source src1p0 : src1 { sql_query = SELECT id, text FROM table WHERE id % 3 = 0; } source src1p1 : src1 { sql_query = SELECT id, text FROM table WHERE id % 3 = 1; } source src1p2 : src1 { sql_query = SELECT id, text FROM table WHERE id % 3 = 2; } index idx1_template { type = plain source = src1 } index idx1p0 : idx1_template { source = src1p0 } index idx1p1 : idx1_template { source = src1p1 } index idx1p2 : idx1_template { source = src1p2 } index idx1 { type = distributed local = idx1p0 local = idx1p1 local = idx1p2 } searchd { dist_threads = 3 }
Linux/Windows Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor