• Как обернуть в теги некоторые слова в HTML?

    @Johnick Автор вопроса
    В воркерах нет доступа к document. Как минимум создание элементов document.createElement('template') точно не работает. Даже если я передам уже созданные элементы вместе с исходным html, то манипулировать этими элементами (например: div.appendChild(fragment)) я скорей всего не смогу или я ошибаюсь?
  • Как обернуть в теги некоторые слова в HTML?

    @Johnick Автор вопроса
    Приветствую.

    Появилась проблема. Если текст очень большой (и при увеличении массивов со словами, думаю, тоже это будет актуально), в моем случае попался ~10Мб, то обработка занимает около 15-20 секунд. Можно ли сделать эту обработку асинхронной, чтобы окно не блокировалось во время обработки, т.е. при загрузке текста выводить его без подсказок, а потом заменять его на обработанный?

    Пробовал такие варианты: setTimeout (окно блокируется или я не понял, как сделать), web worker (нет доступа к DOM), async/await (пока получил, только утечку памяти).
  • Как обернуть в теги некоторые слова в HTML?

    @Johnick Автор вопроса
    Все разобрался, мой косяк. Пока пробовал встраивать, добавил букву g в регулярку из-за этого эта ошибка и появлялась. На следующей неделе еще более детально протестирую. Спасибо.
  • Как обернуть в теги некоторые слова в HTML?

    @Johnick Автор вопроса
    И самое главное забыл написать это возможно происходит из-за того что Ваш код критится в цикле, т.е.
    сначала один массив со словами прогоняется, потом второй и т.д.
    ...
    ['правило', 'мир', 'уголок']
    ['его']
    ...
  • Как обернуть в теги некоторые слова в HTML?

    @Johnick Автор вопроса
    Спасибо за помощь. Ваш код работает, озвученных мною проблем пока не наблюдаю. Но в некоторых местах появляется такая ошибка:
    DOMException: Failed to execute 'setStart' on 'Range': The offset 82 is larger than the node's length (32).

    Пример абзаца (к ошибки выше):
    <p><span style="font-size:14px;"><span style="font-family:Arial,Helvetica,sans-serif;"><b style="font-family: Arial, Helvetica, sans-serif; font-size: 14px;">Инвалид</b>&nbsp;<span style="line-height:normal">–&nbsp;</span>человек, у которого возможности его жизнедеятельности в обществе ограничены из-за его физических, умственных, сенсорных или психических отклонений.</span></span></p>

    Заменяемое слово:
    ['его']

    Если данное место кода обернуть в try catch, то замена двух слов «его» в тексте происходит нормально. В catch попадают следующие парметры:
    currentNode = 'человек, у которого возможности ';
    length = 3;
    offset = 82;
  • Как получить видео через API Вконтакте?

    @Johnick Автор вопроса
    alexalexes, с ним я тоже пробовал такую схему owner_id_media_id_access_key. Но опять же получал 27 ошибку "Group authorization failed: method is unavailable with group auth." для метода video.get. Если убрать access_token, то начинает его просить.

    Вообще написано, что video.get требует "Ключ доступа пользователя", но какого пользователя если это сообщество?
  • Как индексировать файлы в elasticsearch?

    @Johnick Автор вопроса
    Зачем? ES отлично с этим справляется. Мне просто хотелось узнать можно ли в однин документ добавлять несколько файлов. Пока таких примеров не нашел, добаляю, каждое вложение, как отдельный документ.
  • Как индексировать файлы в elasticsearch?

    @Johnick Автор вопроса
    Это понятно, что разбирать и искать можно только по текстовым документам.

    Мне не понятно, как их правильно хранить. Для каждого вложения создавать новый документ или как-то можно засунуть n вложений в один документ.
  • Как индексировать файлы в elasticsearch?

    @Johnick Автор вопроса
    Пробовал. Не работает или нужен какой то не "хитрый" запрос на добавление в индекс.
    Активация pipeline проходит, вроде, нормально. Но когда пытаюшься создать документ рагается на поле data.
    {
      "description": "files",
      "processors": [
        {
          "attachment": {
            "field": "att.data",
            "indexed_chars": -1
          }
        }
      ]
    }


    {
            "type" : "illegal_argument_exception",
            "reason" : "[data] is not an integer, cannot be used as an index as part of path [att.data]"
          }
  • Обединенить данные в под запросе?

    @Johnick Автор вопроса
    Vitsliputsli, перед данным запросом у меня еще идет создание пары временных таблиц.
    Сейчас увеличил кол-во строк для поиска 100k+:
    UNION ALL:
    /* Affected rows: 101 990  Found rows: 12  Warnings: 0  Duration for 5 queries: 2,813 sec. */

    UNION:
    /* Affected rows: 101 990  Found rows: 12  Warnings: 0  Duration for 5 queries: 2,891 sec. */

    Мой вариант выше с OR:
    /* Affected rows: 101 990  Found rows: 12  Warnings: 0  Duration for 5 queries: 2,157 sec. */


    Тут уже разница меньше получилась, но так же быстрей.
  • Обединенить данные в под запросе?

    @Johnick Автор вопроса
    Vitsliputsli, пробовал оба варианта, время выполнения запроса не менялось.
  • Обединенить данные в под запросе?

    @Johnick Автор вопроса
    Это я тоже пробовал. В данном случае id объединяется построчно, например:
    1,2
    3,4
    5,6
    и дальше основной запрос учитывает только первый id, т.е. выбирает записи с id = 1,3,5
  • Обединенить данные в под запросе?

    @Johnick Автор вопроса
    thx. С UNION работает, но долго. В моем случае ~0,850 с.
    Пока сделал такой запрос:
    SELECT * FROM table WHERE id IN (select id1 from table2) OR  id IN (select id2 from table2)

    Отрабатывает за ~0.370 с.
  • Как достать вложения из БД MS SQL?

    @Johnick Автор вопроса
    Спасибо за помощь. После отсечения первых 27 байт вложения стали скачиваться нормально.
  • Как достать вложения из БД MS SQL?

    @Johnick Автор вопроса
    В базе данные правильные т.к. если забирать через систему которая туда их кладет, то все ок.
    Первые 10 симбволов: ACED000575
    Т.е. если не знать, что система туда подмешивает, данные не получится нормально достать?
  • Как достать вложения из БД MS SQL?

    @Johnick Автор вопроса
    Константин Цветков, открыл в notepad. Из видимого:
    1. меняется первая строка
    2. немного изменяется размер файла. Оригинал 1 501 580 байт, после скачивания: 1 501 607 байт.

    5caf734e95a7b440315213.png
  • Как достать вложения из БД MS SQL?

    @Johnick Автор вопроса
    Немного помогло. PDF файлы стали загружаться любого размера, а вот с другими типами файлов, все также битые приходят.
  • Перенос поля blob?

    @Johnick Автор вопроса
    1. пробовал выгружать в base64, но при отдаче пользователя (с ипользованием base64_decode или без нее) документ серовно битый
    2. частично сработало, но результат не достигнут. При попытке открыть файл:
    5c6474f213ddb982195730.png

    После восстановления, все картинки отсутствуют.
  • Извлечение фото из MySQL?

    @Johnick Автор вопроса
    Slon74, да, по вашей инструкции ниже вроде, что-то получилось, но после декодирования в конце каждого строчки, получается, стоит три точки (46 код) и все, что получилось извлечь это название фотокамеры, на которое было сделано фото. Либо я что-то сделал неправильно, либо все фото изначально были записаны не полностью в БД.
  • Извлечение фото из MySQL?

    @Johnick Автор вопроса
    вот такие, там только цифры.
    данные в ячейке
    3730203730203332203638203536203332203730203730203332203639203438203332203438203438203332203439203438203332203532203635203332203532203534203332203532203537203332203532203534203332203438203438203332203438203439203332203438203439203332203438203439203332203438203438203332203534203438203332203438203438203332203534203438203332203438203438203332203438203438203332203730203730203332203638203636203332203438203438203332203532203531203332203438203438203332203438203536203332203438203534203332203438203534203332203438203535203332203438203534203332203438203533203332203438203536203332203438203535203332203438203535203332203438203535203332203438203537203332203438203537203332203438203536203332203438203635203332203438203637203332203439203532203332203438203638203332203438203637203332203438203636203332203438203636203332203438203637203332203439203537203332203439203530203332203439203531203332203438203730203332203439203532203332203439203638203332203439203635203332203439203730203332203439203639203332203439203638203332203439203635203332203439203637203332203439203637203332203530203438203332203530203532203332203530203639203332203530203535203332203530203438203332203530203530203332203530203637203332203530203531203332203439203637203332203439203637203332203530203536203332203531203535203332203530203537203332203530203637203332203531203438203332203531203439203332203531203532203332203531203532203332203531203532203332203439203730203332203530203535203332203531203537203332203531203638203332203531203536203332203531203530203332203531203637203332203530203639203332203531203531203332203531203532203332203531203530203332203730203730203332203638203636203332203438203438203332203532203531203332203438203439203332203438203537203332203438203537203332203438203537203332203438203637203332203438203636203332203438203637203332203439203536203332203438203638203332203438203638203332203439203536203332203531203530203332203530203439203332203439203637203332203530203439203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203531203530203332203730203730203332203637203438203332203438203438203332203439203439203332203438203536203332203438203438203332203730203438203332203438203438203332203730203438203332203438203531203332203438203439203332203530203530203332203438203438203332203438203530203332203439203439203332203438203439203332203438203531203332203439203439203332203438203439203332203730203730203332203637203532203332203438203438203332203439203730203332203438203438203332203438203438203332203438203439203332203438203533203332203438203439203332203438203439203332203438203439203332203438203439203332203438203439203332203438203439203332203438203438203332203438203438203332203438203438203332203438203438203332203438203438203332203438203438203332203438203438203332203438203438203332203438203439203332203438203530203332203438203531203332203438203532203332203438203533203332203438203534203332203438203535203332203438203536203332203438203537203332203438203635203332203438203636203332203730203730203332203637203532203332203438203438203332203636203533203332203439203438203332203438203438203332203438203530203332203438203439203332203438203531203332203438203531203332203438203530203332203438203532203332203438203531203332203438203533203332203438203533203332203438203532203332203438203532203332203438203438203332203438203438203332203438203439203332203535203638203332203438203439203332203438203530203332203438203531203332203438203438203332203438203532203332203439203439203332203438203533203332203439203530203332203530203439203332203531203439203332203532203439203332203438203534203332203439203531203332203533203439203332203534203439203332203438203535203332203530203530203332203535203439203332203439203532203332203531203530203332203536203439203332203537203439203332203635203439203332203438203536203332203530203531203436203436203436