pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как отслеживать эффективность рекламы в инстаграме?

Лучший ответ: Первый совет: прежде, чем заказывать рекламу у блогера, запросите у него статистику и самостоятельно посмотрите процент вовлечения относительно общего числа подписчиков, ну и, разумеется, хотя бы поверхностно пробегитесь по активной аудитории.
Хочу дополнить один из комментариев выше, где автор писал, что отказ от блогеров и переход на таргетинг - это выход. Так вот, это не выход. К тому же, маркетинг на лидерах мнений сейчас является одним из ключевых методов, если вам нужны продажи и узнаваемость за счет соц.сетей.
Чтобы отследить её эффективность, по большому счету, у вас  есть не так много инструментов.
1. Внутренняя статистика блогера. Если он до сих пор не перевел аккаунт в формат бизнес-аккаунта - даже не связывайтесь с ним.
2. Промо-коды (даже в стиле "напишите, что вы от меня, и вам сделают отличную скидку")
3. Короткая ссылка с utm-меткой, размещенная в профиле на короткий срок. Мол, у меня тут, друзья, есть уникальная скидка для вас на такие-то ништяки и полезности, а ссылка для заказа будет сегодня и завтра в профиле, если хотите воспользоваться моим специальным бонусом для вас любимых.

Худший ответ: У меня для вас хорошие новости! Недавно фб открыл api по стате в инсте, а не дремлющие Livedune уже внедрили их в своём сервисе. То есть теперь можно смотреть стату чужих акков после покупки у них же рекламы, если мы щас говорим про посев у блогеров.
Вопрос: Как сделать превью карточки товара с выводом?

Лучший ответ: fotorama.io
если без плагинов:
создаёшь 1 большой блок где будет большая картинка с классом 'big-img'
снизу 5 ссылок - в ссылках с классом 'btn' пишешь аттрибут data-img="путь/*.jpg"
jquery:$('.btn').click(function(){
		$('.btn').removeClass('active');
		$(this).addClass('active');
		$('.big-img').attr('src', $(this).data('img'));
	});

Худший ответ: обычный сладер с thumbnail же
можешь еще убрать листание если не нужно
a выбор цвета если такж нужно - то настроить через коллбек функции того же слайдера чтобы переходил на нужный слайд
используй к примеру kenwheeler.github.io/slick а именно Slider Syncing
Вопрос: Есть ли возможность писать под macOS и iOS приложения просто для себя без всяких публикаций в магазине приложений и т.д.?

Лучший ответ: Ну абсолютно никаких проблем с запуском приложения под iOS или macOS. Во-первых все приложения под iOS можно запускать в любом количестве в эмуляторе. Так же приложения под iOS можно запускать и на реальном девайсе(можно как и посредством USB, а можно и Wifi/Bluetooth), но тут нужно понимать, что без подписки на самом девайсе не может быть больше 3х установленных ваших программ. Но это никогда не было проблемой и если Вам так нужно их больше 3х, то можете создать 2ой AppleID и установить ещё 3. Но в конце концов никто не мешает Вам удалить одно из них и установить другое. Под macOS вообще никаких проблем. Единственно зачем нужен аккаунт разработчика, так это для того что бы выложить ваши творения в магазин и App Capabilities о которых написано тут https://developer.apple.com/support/app-capabilities/

Худший ответ: Да, просто установите Xcode и будет вам счастье
Под iOS реально, вы даже можете запускать написанные вами приложения сразу на смартфоне (через USB). Работает все точно так же как у Android Studio.
Вопрос: Где объявлять функции, перед или после функции main?

Лучший ответ: Я обычно обьявляю до main, потому что в этом случае при вызове функции она уже определена, компилер может проверить соответствие формальных параметров фактическим и у линкера вопросов не возникнет. Делать я так привык с лоооооохматых годов (аж сказать страшно - года так с 1990-го :D), может нынешние компиляторы и линкеры поумнели настолько что им пофиг, конечно.

Худший ответ: Я обычно обьявляю до main, потому что в этом случае при вызове функции она уже определена, компилер может проверить соответствие формальных параметров фактическим и у линкера вопросов не возникнет. Делать я так привык с лоооооохматых годов (аж сказать страшно - года так с 1990-го :D), может нынешние компиляторы и линкеры поумнели настолько что им пофиг, конечно.
Вопрос: Что может значить термин токен авторизации?

Лучший ответ: то в данном случае номер сессии является синонимом токена авторизации?
В общих чертах похоже, да, но все же это разное. Если в двух словах, то речь о разных способах аутентификации - на основе куки и на основе токенов(чаще всего jwt-токен имеется в виду, так что для подробностей гуглите именно это). 
В первом случае(на основе куки) в общих чертах происходит следующее: после отправки пользователем своих данных(логина и пароля) на сервере создается id сессии, этот айдишник записывается в базу данных и помещается в куки браузера пользователя. Затем при каждом обращении пользователя к серверу айдишник сессии из куки сверяется с айдишником сессии в базе данных, если совпадают - все ок. 
Во втором случае(на основе токенов) происходит следующее: пользователь отправляет логин и пароль, если все норм то в ответ на это сервер возвращает подписанный jwt-токен. На клиенте этот токен куда-нибудь сохраняется(например в локальную базу) после чего в каждый запрос отправленный клиентом добавляется этот самый jwt-токен. Сервер декодит полученный токен и если все норм то запрос обрабатывается. Ну и отмечу, что и в этом случае можно хранить jwt-токен в тех же куках и брать на проверку на оттуда, это уже не суть важно.
Способы похожи, но все же разные. В первом случае есть так называемое состояние - то есть и сервер и клиент должны хранить айдишник сессии, сервер мониторит/ведет эти сессии в базе данных и т.д. В случае же с jwt-токеном от понятия состояние по сути избавляемся - серверу не важно кто вошел в систему, с помощью какого именно токена и т.д. То есть в данном случае токен самодостаточен и кроме этого токена серверу ничего больше не надо чтобы определить все ок или нет.

Худший ответ: Время жизни сессии меньше и не регулируется.
Вопрос: Как организовать ведение блога для руководителя, без доступа в админ?

Лучший ответ: Все очень просто:пишите api для сайтапишите мобильное приложениепишите десктопное приложениепишите расширение для браузерапишите скрипт для системы умный домсоединяете все вместе и ждете, что человек. который не раздуплил админку, раздуплит все остальное

Худший ответ: а учетку редактора или автора дать есть возможность тому, кто размещает посты?
Вопрос: Железо для рабочего компа?

Лучший ответ: Ну если в общем:
Проц: 4 ядра. 
ОЗУ: 8гб+, 
Кулер: пофиг, пойдет и стоковый с процессором
Материнка: пофиг
БП: 450в+
Монитор: FullHD IPS матрица обязательна
Видеокарта: ну, чем дороже, тем лучше
Диск: SSD

Худший ответ: но чем меньше, тем будет лучше
Плату на 775 к нему зион у китайцев. 4 планки по одному гб (или 2+2 если в мать плате дырок мало).
ну хард 250 гб корпус беленький с помойки. Ну и видюшку профессиональную.
На сколько я эту кухню знаю весь софт запуститься и будет работать.
Вопрос: Как сохранить из файла .ai только выделенный объект в svg?

Лучший ответ: Обёртываешь каждую иконку в свой артборд. Алгоритм:
1) Убедись, что каждая иконка является группой (все элементы сгруппированы - CTRL+G) или составной формой (compound shape - CTRL+8)
2) Включи artboard tool (SHIFT+O), натяни на иконку арборд "на глазок" (принцип тот же, как у выделения)
3) Теперь, чтобы точно обернуть артборд по краям иконки - щелкни по ней два раза.
4) Проделай это для всех иконок
5) Save as -> SVG, поставь галку "use artboards"
всё.

Худший ответ: Во-первых, чтобы сохранять слайсы надо сначала их разместить т.к. вы выделили объекты, а не слайсы. Во-вторых, через slices нельзя сохранять в svg. В-третьих, в svg проще сохранять либо поотдельности (т.е. в новый документ/артборд скопировать иконку и сохранить как svg), либо через asset export (меню - view - asset export), либо с помощью сторонних скриптов/плагинов.
Вопрос: Как сделать дамп бд mysql и скачать локально его на комп?

Лучший ответ: lxc exec namestand -- mysqldump -u USERNAME DBNAME -p > /tmp/dump.sql
lxc file pull name_stand/tmp/dump.sql /path/to/your/local/dump/file.sql
А потом по FTP с этого сервера скачать файл  /path/to/your/local/dump/file.sql

Худший ответ: > /путь откуда вы можете скачать/dump.sql
Вопрос: Какое нормальное время генерации страницы и ответа сервера?

Лучший ответ: Если событие происходит быстрее, чем за 150-200 мс - человеку кажется, что событие произошло до его действия.
Если между действием пользователя и получением результата проходит больше 0.5-1 с., велика вероятность, что это начнёт раздражать пользователя. 
Ваше время генерации совершенно ОК, если речь идёт о >=99% кванитили. Убедитесь только в том, что ваши основные пользователи находятся в восточной Европе, чтобы роутеры+скорость света до Америки/Азии не накладывали большую дополнительную задержку и что JS на клиенте не очень тяжёлый, чтобы задержка на стороне клиента для рендера контента тоже была не очень большой.

Худший ответ: Я считаю что чисто скрипт должен отрабатывать за <150мс. Исключения - какие-нибудь специальные страницы с большим количеством данных.
Вопрос: Как бы массово раздать файл на телевизоры?

Лучший ответ: Есть такая штука как DLNA, и очень многие бытовые устройства умеют с ней работать. Есть и аналоги, типа miracast, apple airplay, и т.д., по ссылкам из вики можно на них выйти.
Если вдруг часть телевизоров недостаточно умные, есть разнообразные "тв свистки" и приставки.
https://ru.aliexpress.com/wholesale?catId=0&Search...

Худший ответ: проигрывание файла с любого сетевого хранилища (nas) нынче не в моде?)
https://www.dns-shop.ru/catalog/17a8ab5b16404e77/s... на вкус и цвет. лижи какой хошь )
соответственно все телевизоры связываем через впн сервер (если здания не связан сетью) с сетевым хранилищем. и берем плеер-приложение которым можно управлять удаленно. если там есть андроид.
Вопрос: Есть ли «roadmap» для разработчика android приложений?

Лучший ответ: Привет!
Я бы рекомендовал изучить темы:
Java
--------
* Object: hashCode, equals, wait, notify
* Collections: List, Set, Queue, Map
* References: Strong, Soft, Weak, Phantom
* Concurrency: Thread, Runnable, Executor, Future, Synchronized, Volatile, Synchronized collections.
* io: InputStream, OutputStream, File, serialization
* Network: URL, urlconnection, etc
* json, xml
* generics
* reflection
* class loader
* enum
Android
--------
* Android tasks and backstack (LaunchMode(singleTask, singleTop, etc), Task Affinity)
* Activity: Lifecycle, What, start, start with result
* Services: IBinder, Message Handler
* ContentProvider: how to use and why
* Broadcast Receiver: how to use and why
* Intent & Intent Filters: common and in manifest.xml
* Fragments: Lifecycle, Why, FragmentManager, NestedFragmentManager
* Notifications: how to use
* Permissions: what and how
* Resources: what and how
* Styles: how to use and why
* InputEvents
* MaterialDesign: RecyclerView, CardView, FloatingActionButton
* Layouts (also CoordinatorLayout)
* Toolbar
* Pager
* Settings
* Menu
* Dialogs
* Toasts, Snackbar
* Animation, Shadows
* Support lib, Support design
* Network: frameworks (OkHttp, Retrofit)
* Process: separated processes
* Application: using
* Concurrency: AsyncTask, best practices for long time work.
* Bitmaps: using, reusing
* VectorDrawable
* Deep Linking
Common:
--------
* Patterns
* Caching
* di
Misc:
-------
Git
Gradle

Худший ответ: Хочу писать на java приложения для Android, с чего начать?
Вопрос: Можно ли изменить ник на Тостере?

Лучший ответ: Можно. Для этого необходимо обратиться с соответствующим запросом в службу поддержки.

Худший ответ: Просто в профиле можно изменить свои имя и фамилию. В поле имени ввести желаемый ник, а фамилию оставить пустой.
Вопрос: Unity3d ошибка с переключением камер?

Лучший ответ: Вы неправильно понимаете суть классов и компонентов, внимательно почитайте документацию. GameObject это не компонент, с помощью каста в другой класс нельзя магическим образом достать из него компонент, для этого существует специальный метод GameObject.GetComponent. Кроме того, в вашем случае конструкцию с FindGameObjectWithTag можно заменить вызовом Camera.main, результат будет такой же. Это не очень хорошая практика в контексте камер, но это уж вам решать. Что касаемо второй ошибки, она случается из-за того, что в вашем старте в первой строчке вызывается исключение, что обрывает поток метода, и все последующие строчки не вызываются, поэтому camera2 остаётся null.

Худший ответ: camera1 = Camera.main
По поводу второй камеры
Скорее всего, на объекте просо нет такого компонента. На всякий случае, добавте атрибут RequireComponentr(typeof(Camera)) перед классом скрипта. Затем удалить скрипт с объекта и повесьте опять.
Или же назначьте камеру в инспекторе ручную
Вопрос: Как оказать первую помощь смартфону-утопленнику?

Лучший ответ: Я делал так:
1. Разобрал максимально.
2. Положил всё в рис. Он вытягивает на себя влагу.
3. Подождал сутки.
Телефон после этого проработал ещё долго.

Худший ответ: Как вариант можно после разбора спиртом  прочистить платы(доступные)
Вопрос: Почему не находит view в Yii2?

Лучший ответ: ну ссылка должна быть как минимумHtml::a('Сменить пароль ', ['/site/change-password'], ['class' => 'btn btn-link'])

Худший ответ: ссылка на вьюшку
это не ссылка на вьюшку, это к вьюшки не имеет никакого отношения
Тут:Html::a('Сменить пароль ', ['/site/changepassword'], ['class' => 'btn btn-link'])
У вас ссылка согласно route, вероятно контролер site и экшен changepassword.
Это ни как не связано с тем где у Вас лежит view.
Мало того у Вас экшен actionChangePassword()
а не actionChangepassword()
поэтому ссылка дожна быть /site/change-password
Почему Вы решили что не находит view, по идее он не находит экшен. Дайте текст ошибки.
Вопрос: Как изменить размер холста под изображение?

Лучший ответ: Меню "Изображение", дальше "Тримминг". Выбираете на основе прозрачных пикселов. Обрезка со всех сторон.

Худший ответ: обрезать
Вопрос: Как правильно в PHP принять форму на одном сервере, а файл из неё передать на другой?

Лучший ответ: Вариант I. Смонтировать по NFS папку с сервера B на сервере A.
Вариант II. Средством PHP сразу слать принятый файл на сервер B – это чуть удлинит время обработки принятой формы, но зато самое простое решение. Используйте cURL и CURLFile:$ch = curl_init();
curl_setopt_array( $ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => [
	  "file" => new CURLFile("/tmp/" . $tmpFileName) // путь к принятому файлу
  ],
  CURLOPT_URL => "http://server-B.domain.com"
]);

curl_exec( $ch); // выполнить запросОпции cURL см. подробнее – может, вам понадобится отключать проверку SSL сертификата, увеличить таймайут и т.п.

Худший ответ: Можно так-же отправлять Аяксом данные на Сервера А, а после передачи, форму нативными средствами на Сервер Б.
Либо использовать только Аякс.
Вопрос: Как автоматически назначать вновь добавленным файлам, такие же права как на папке в Ubuntu server?

Лучший ответ: > через FTP от суперпользователя
Мать моя — смертная женщина! Мало того, что плейнтекстовый ftp, по которому логин-пароль видят каждый по дороге, так еще и от рута.
Если уж хотите насиловать труп ftp, то используйте pure-ftpd и виртуальных пользователей, а там уже назначайте какому uid/gid должны принадлежать файлы.
А лучше вообще прекратите насиловать ftp, узнайте про sftp, что ли.

Худший ответ: права создаваемых файлов и папок описываются в конфиге вашего фтп-сервера.
Или ,к кпримеру, для упрощения ситуации можно в конфигах системы прописать работу фтп-сервера от имени того же пользователя, от которого работает апач.
можно еще много чего сделать, но каков вопрос - таков ответ, ибо не представили ни одной технической подробности кроме того что там работает апач.
Вопрос: Как устранить ошибку «Uncaught SyntaxError: Unexpected token =»?

Лучший ответ: function getSame(page) {
if (typeof page == "undefined") page = 0;
...
}
P.S. аргументы функий JS не являются обязательными, вы можете какие то и вовсе не передать, поэтому понятия "значение по умолчанию" нет

Худший ответ: Ты реально пытаешься подстроиться под Амиго?) Друг его просто удалить не может или что?))
Вопрос: Что делать если в России заблокировали хостинг?

Лучший ответ: Не важно, заказывали вы его с VPN или нет.
Если вам нужно сделать сайт доступным в России, то нужно покупать услуги у другого хостера.
Либо, если так важно размещать сайт на GPDHost, то купить хостинг и на GPDHost и на другом хостинге (ТОЛЬКО НЕ В РОССИИ) и настроить проксирование запросов со второго хостинга на GPDHost.

Худший ответ: он заблокирован роскомнадзором в России
Дяденька, неправда ваша! работает gpdhost :) по крайней мере в наших ебенях... Так что проверяем сайт на блокировку на сайте РКН - там же можно и "за что" посмотреть.
Вопрос: Как ставить на ожидание процессы python?

Лучший ответ: Выбирайте, что вам больше нравится или подходит:МультипроцессингМногопоточностьМультиплексированиеАсинхронность
У каждого подхода свои способы синхронизации задач.

Худший ответ: Сергей Горностаев  правильно написал. разберись с каждым и выбери то что тебе надо. но это долгий путь
короткий - копай в сторону asyncio и aiohttp
и да прибудет с тобой сила :)
Вопрос: Какие минусы у тонкого клиента?

Лучший ответ: Здравствуйте!
Про плюсы и минусы уже, в принципе, всё расписали, хотелось бы просто заострить вопрос на сканировании - постарайтесь, обзавестись МФУ с Ethernet, умеющими отправку скана на e-mail\расшаренную папку и т.д., здорово сбережёте себе нервы. Ну и, конечно, придётся расстаться с принтерами, которые не умеют в х64 драйвера, всякие старые win-принтеры.  Т.е. оптимальный вариант - сетевые тонкие клиенты - сетевые же принтеры и МФУ. Никаких локальных соединений с оргтехникой. Понимаю, что категорично звучит, у нас есть парк тонких клиентов и USB-принтеры HP, Canon и Xerox, сейчас всё работает, но сколько же было геммора с настройкой ThinStation. Безпроблемными же оказались HP LJ 1012-1022, завелись с пол-пинка.
P.S Ах да, сразу проанализируйте ПО на раб. местах Ваших пользователей, я наступил на грабли с ГрандСметой,  которая не работала в терминальной сессии из принципа (даже разработчик на это указывает). Сейчас не знаю, как с ней обстоит дело.

Худший ответ: Минусов несколько. 
- разные технологии передачи данных на тонкие клиенты по сети. не всегда есть совместимость с другими технологиями. 
- недешевое это дело. ой недешёвое. в первую очередь из-за стоимости самих тонких клиентов. 30000 рублей ... далеко не самая маленькая цена ... а получаешь говно на флешке и мониторчик))). 
- хоть и рассказывают что срок эксплуатации такого гг больше чем у обычных компов ... по факту горят маттрицы .. блоки питания .. чипы памяти кирдыкаются ... материнки выходят из строя .... короче печально все. 
- нужно покупать нормальный софт для управлением всего этого парка. а стоит он тоже не даром. а то что даром ... требует регулярного напильника 
и это только часть проблем
Вопрос: Какие таблицы в бд таких сайтов как Avito, Vk, Baidu, Facebook и т.д?

Лучший ответ: В Вашем конкретном случае - ответ нет.
Начинать нужно всегда с 3НФ, т.е сUser:
id
username
password_hash
full_name
и т.д
Уже потом по мере роста проекта будете заниматься денормализацией

Худший ответ: Почитайте про 6 нормальных форм баз данных.
В Вашем примере, хранить имена пользователей отдельно от самих пользователей будет логично, если у пользователя может быть много имен, либо у имени может быть много пользователей, если это не так, и у одного пользователя, одно имя, то правильней их хранить в одной таблице.
Вопрос: Как изменять данные при нажатие на submit?

Лучший ответ: 1. Откройте debug панель и посмотрите почему, там есть ответ. Мы же не медиумы. А у Вас под рукой все ответы в дебаг панеле. Может быть запрос не туда идет или валидацию не проходит.
2. Все Ваше вью можно заменить на:<?= Html::a('Выполнить', ['check', 'id' => $model->id], [
            'class' => 'btn btn-primary',
            'data' => [
                'confirm' => 'Вы уверены, что хотите одобрить эту ерунду?',
                'method' => 'post',
            ],
        ]) ?>
Далее в контролере можно оставить что-то такое (можно и более красиво, но боюсь запутаю):public function actionCheck($id)
    {
        if($model = $this->findModel($id)){
           $model->status = 7;
           $model->save();
        }
        return $this->redirect(Yii::$app->request->referrer);
    }

Худший ответ: Может потому что rules() нет правила для статуса?
Вопрос: Как узнать количество и какие операционные системы есть в сети?

Лучший ответ: Связка OCS Inventory + GLPI.

Худший ответ: Оперативно пойти по всем рабочим местам ногами
Вопрос: Как обрезать картинку под углом в фотошопе?

Лучший ответ: Самый просто путь - взять инструмент выделения - Polygonal Lasso
wordrevel.com/wp-content/uploads/Polygonal-lasso-t...

Худший ответ: Пером выделяешь и вырезаешь!
Вопрос: Битрикс24 Коробочная версия, как реализровать через PHP код создание события — напоминания в календаре на опреденно число и время?

Лучший ответ: Ребят всем спасибо за ответы, но решил по другому выкладываю код если кому нибудь понадобиться//Устанавливаем дело-звонок и напоминание для сделки
                        $arFieldsDelo = array(
                            'TYPE_ID' => CCrmActivityType::Call,
                            'PROVIDER_ID' => 'VOXIMPLANT_CALL',
                            'ASSOCIATED_ENTITY_ID' => $_GET['deal'],
                            'SUBJECT' => "Тема",
                            'COMPLETED' => 'N',
                            'RESPONSIBLE_ID' => "ID отвественного",
                            'NOTIFY_TYPE' => \CCrmActivityNotifyType::Min,
                            'NOTIFY_VALUE' => 20,                            
                            'DESCRIPTION' => "Описание",
                            'START_TIME' => $_GET['datetime'],
                            'END_TIME' => $_GET['datetime'],
                            'PRIORITY' => CCrmActivityPriority::Medium,
                            'AUTHOR_ID' => $_GET['assigned'],
                            'ORIGIN_ID' => 'XYZ_1',
                            'DIRECTION' => CCrmActivityDirection::Outgoing,
                            'OWNER_ID' => $_GET['deal'],
                            'OWNER_TYPE_ID' => CCrmOwnerType::Deal,
                        );

                        $arComms = array(
                                       array(
                                          'ID' => 0,
                                          'TYPE' => 'PHONE',
                                          'VALUE' =>  $_GET['contactTel'],
                                          'ENTITY_ID' => $_GET['deal'],
                                          'ENTITY_TYPE_ID' => 'DEAL'
                                       )
                                    );

                        $ID = CCrmActivity::Add($arFieldsDelo, false, true, array('REGISTER_SONET_EVENT' => false));
                           
                        if($ID > 0)
                        {
                            //сохраняем дело в календарь
                           CCrmActivity::SaveCommunications($ID, $arComms, $arFieldsDelo, true, false);
                           
                        }
                        
                       }

Худший ответ: Можно попробовать через метод CCalendar::SaveEventEx
Вопрос: Убил разделы жесткого диска при установки ОС. Как теперь установить Windows?

Лучший ответ: Установщик винды пишется стандартными средствами на флешку размеченую в ntfs (если только вы не ставите что то вроде XP). Попробуйте в биосе выключить secure boot.Windows USB/DVD Download Tool

Худший ответ: Значит флешка не загрузочная.
Чем делали флешку?
Перезалейте на флешку оригинальный образ используя утилит от майкрософт - Windows USB/DVD Download Tool
Вопрос: Как лучше создать поиск для сайта используя MySql + ElasticSearch?

Лучший ответ: Обычно в таких сценариях всё лежит в поисковом движке. Всё это поля для поиска и id самого товара. Больше этого не надо.
Идет запрос  к ES обычно страничный, находятся Id's идет запрос к SQL и вытаскиваются все нужные поля, часто между ES и SQL есть кэш. 
Как упаковать в  Yii2, это отдельный вопрос (коим не владею), скорее всего вам понадобится позже фасетированние и автокомплит.

Худший ответ: sphinx + MVA + Facet
но вы продолжайте с Эластиком )))