Count(*) и память

а Manticore полностью поддерживает SphinxQL? Или есть у движка, скажем так, свой диалект, отличающийся от родительского?

Вроде бы совместимость не ломали относительно Sphinx 2.3.2. Нового конечно много очень, чего в сфинксе нет. Ну а относительно неоупэнсурсного sphinx 3 есть отличия небольшие.

Т.е. у Manticore есть SQL-конструкции, которых нет Sphinx?

1 Like

Везде, где используется сырой SQL, есть такая опасность. Не просто так в PDO есть параметры и настоятельно рекомендуется их использовать. Нужно либо очень тщательно следить за тем, что втыкается в запрос, либо использовать запросы с параметрами

Всё верно, но здесь речь именно о мулти., где ежели оставить всё в естественном виде, то стоит только добавит к запросу …delete tab…; итд, и дело сделано со всеми проверками… Потому, как мне кажется, то нужно еще и ограничивать число запросов или валидации запросов, то ест, некрторые правила, допустим, разрешено только select…итд
Так же, как мне кажется, то PDO осуществляет множество проверок в отличие от mysqli, что негативно влияет на скорость. :wink::flushed::roll_eyes: Так же, об этом нужно ‘парится’ у кого rt index с мултиквери… :laughing:

Послай некоторых испытаний пришол к выводу, что блин, треш какой-то получается…:laughing: Чтобы извлечь time и total мне нужно множество foreach… :roll_eyes::flushed::flushed:
if(id= manticore->multiQwery(Select id from myindex where match(‘x’) …; show meta.;)){

foreach($data[0] as $key=>$items){
//Получаем ид…
}
foreach($data[1] as $key=>$items){
foreach($items as $item){
foreach($item as $value){
$n++;
//print_r(“
$n, $value”);
if($n==4){
$total=$value;
}
if($n==8){
$time=$value;
}
}
}
}
}
Что то шыпко дино… Вы не нанодите?:laughing:
Подскажите как укратить эту штуковину?

Какая разница между total и total_faound?

те запросы, которые исходят из паблика, можно отдавать мантикоре через отдельный read-only порт\сокет
https://manual.manticoresearch.com/Security/Read_only#Read-only-mode

total - это сколько документов вернул запрос, а total_found - сколько документов он нашёл.

Т.е. у Manticore есть SQL-конструкции, которых нет Sphinx?

Конечно, мы ж 5 лет уже что-то делаем. Добавили много всякой функциональности, большая часть которой проявляется через SQL в том числе. Почитайте статьи Manticore Search — форк Sphinx: отчёт за 3 года / Хабр Manticore — альтернатива Эластику на C++ с 21-летней историей / Хабр

Логично. Поразительно, но у меня пока что эти цифры совпадают в каждом запросе. Может в фильтрх поиска дело!

А по поводу(‘бесконечного цыкла’) :laughing: foreach у Вас нету предположений?
К примеру как быстро и легко вытащить данные из мулти масива, который возвращает выше упомянутый ManticoreConect:: multiQwery ? :flushed::roll_eyes:

как быстро и легко вытащить данные из мулти масива

Ну как вы сделали, так и норм, я думаю. Вы замеряли перф, чтоб проверить насколько значительно это увеличивает response time вашего приложения? Сколько %% это даёт?

Про “легко” - ну запихайте эту логику куда-нибудь подальше с глаз и переиспользуйте.

HTTP JSON или клиент для вашего ЯП попробуйте, там не надо делать SHOW META, то получить кол-во найденных результатов. Там это сразу выводится.

@Sergey Чисто на глаз чутка шустрее, чем двойной запрос.
Вот сейчас разделил запрос по функции( убрал с глаз долой длинущий код :slight_smile: ) и стала примерно на 0, 013секунд еще шустрее, но при условии, что LIMIT не больше 5к. Знаете, где массив огромный(примерно 60к), там конечно в обоих случаях запросы виснет на секунд 3-5. Причём не факт, что из за manticore. Я думаю, что у меня ху…, извините, плохо работает генератор страниц на больших подсчетах. :laughing::wink:

Кажись, было бы прекрасно, ежели можно было в перёд как-то вытягивать только результат конкретной страницы а не весь массив по данному ключу запроса, то есть, как-то производить запрос через генератор страниц. Это бы позволило снять любые ограничения на результаты.
Вот реально ли это, тут стоит подумать . :roll_eyes:

Спасибо, читал. Именно по этим статьям и выбрал Мантикору, когда выбирал между Сфинксом и Эластиком