Пробую перейти со Sphinx 2.2. Перенес конфиг (RT индекс), проиндексировал данные, но при выборке я использую 3 запроса одновременно (нужно получить фасетный результат фильтра, категории без фильтрации и общее количество записей):
<?php
$query="SELECT product_id, WEIGHT() as relevance, IN(attributes['c'], 104) as c FROM filter WHERE store_id = 0 AND language_id = 1 AND c = 1 ORDER BY available DESC, product_id DESC LIMIT 0, 10 OPTION max_matches=16693 FACET attributes.pr LIMIT 1000;
SELECT product_id, WEIGHT() as relevance FROM filter WHERE store_id = 0 AND language_id = 1 ORDER BY available DESC, product_id DESC LIMIT 100 OPTION max_matches=16693 FACET attributes.c LIMIT 1000;
SHOW META;";
$mysqli = new mysqli("127.0.0.1", "", "", "", 9306);
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
/* запускаем мультизапрос */
if ($mysqli->multi_query($query)) {
do {
/* получаем первый результирующий набор */
if ($result = $mysqli->store_result()) {
while ($row = $result->fetch_assoc()) {
print_r($row);
}
$result->free();
}
/* печатаем разделитель */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while ($mysqli->next_result());
}
/* закрываем соединение */
$mysqli->close();
Результат очень странный:
...
Array
(
[attributes.pr] => 10
[count(*)] => 6
)
Array
(
[attributes.pr] => 11
[count(*)] => 7
)
-----------------
Array
(
[product_id] => 407
[relevance] => 1
[c] => 0
[attributes.pr] => 3
[count(*)] => 16693
[attributes.c] => [1013,1073,2065]
)
-----------------
Array
(
[Variable_name] => total
[Value] => 3914
)
Array
(
[Variable_name] => total_found
[Value] => 3914
)
Array
(
[Variable_name] => time
[Value] => 0.010
)
То есть 1-й запрос выполняется нормально, 2-й выводит не понятно что.
Если убрать SHOW META все вообще виснет.
Подскажите, в чем проблема?