• Как работать с командной строкой? отправлять команды? получать сообщения?

    @Teermit
    Через _popen так нельзя, насколько я знаю
    Под POSIX решением было бы использовать pipe() и fork(), но под Windows это, скорее всего, не будет работать
    Если вывод команд не важен, можно использовать system("..."), но это не всегда будет работать
    Более правильный вариант: запускать CMD через WinAPI посредством CreateProcess, пример есть тут: https://msdn.microsoft.com/ru-ru/library/windows/d...
    P.S. C++, вероятно, далеко не самое лучшее решение для этой задачи
    Ответ написан
    Комментировать
  • Как выполнить релевантный поиск?

    @Teermit
    Правильное решение: использовать решения вроде Elastic.
    Однако для этого Elastic надо куда-то поставить, что не всегда допустимо.
    Любые другие решения будут костылём различной степени кривости.
    Вариант с написанием обвязки будет катастрофически медленным, и, более того, не нужным, потому что всё можно сделать средствами СУБД
    Костыльное решение, работающее на голой СУБД:
    • Для каждого ряда в БД используя самопальную версию поиска подстроки, допускающую ошибки, найти вхождения каждого поля в строку, по которой ведётся поиск.
    • Построить оценку каждого ряда, основанную на сумме длин найденных подстрок и количестве ошибок (этот пункт требует экспериментов на реальных данных).
    • Отсортировать результат по этой оценке
    Ответ написан
    Комментировать