Подсказки DaData.ru

Создайте приватное сообщение на форуме техподдержки. Укажите в нем:

  1. Описание проблемы.
  2. Ссылку на страницу вашего сайта, где не работают подсказки.

«Коробочные» подсказки

Если подсказки не работают

Зайдите на сервер по ssh и перейдите под пользователя factor. Далее, соберите все или некоторые пункты диагностики (сотрудник техподдержки сообщит, какие именно пункты нужны). Наконец, отправьте письмо сотруднику HFLabs, отвечающему за поддержку Фактора и Подсказок в вашей организации. Приложите к нему все собранные файлы.


  1. Соберите дамп потоков:

    kill -3 $(pgrep -f 'SGT_ROOT')
    /usr/java/latest/bin/jstack -F $(pgrep -f 'SGT_ROOT') > threaddump.$(date '+%Y%m%d_%H%M').log
  2. Соберите информацию о нагрузке на сервер в течение 20 секунд:

    vmstat -t 2 10 > vmstat.$(date '+%Y%m%d_%H%M').log
  3. Соберите информацию о нагрузке на диск в течение 20 секунд:

    iostat -dmtxz 2 10 > iostat.$(date '+%Y%m%d_%H%M').log
  4. Соберите статистику по сетевым соединениям:

    netstat -an | awk '{print $6}' | sort | uniq -c | sort -nr > netstat.$(date '+%Y%m%d_%H%M').log
  5. Соберите ответ сервера на запрос статуса:

    curl -X GET http://localhost:8080/suggestions/api/4_1/rs/status > status.suggestions.$(date '+%Y%m%d_%H%M').json
    curl -X GET http://localhost:18080/factor-service-flight/services/FactorService/getBuildInfo > status.factor.$(date '+%Y%m%d_%H%M').xml
  6. Соберите ответ сервера на запрос подсказок:

    curl -X POST \
      http://localhost:8080/suggestions/api/4_1/rs/suggest/address \
      -H 'Content-Type: application/json' \
      -d '{"query":"москва сухонская 11","count":1}' > suggest.$(date '+%Y%m%d_%H%M').log
  7. Соберите метрики производительности:

    curl -X GET \
      'http://localhost:8080/suggestions/api/4_1/rs/metrics/performance?period=hour' \
      -H 'Content-Type: application/json' > performance.$(date '+%Y%m%d_%H%M').log
    
    curl -X GET \
      'http://localhost:8080/suggestions/api/4_1/rs/metrics/performance?period=day' \
      -H 'Content-Type: application/json' > performance.$(date '+%Y%m%d').log
  8. Соберите логи за сегодня:

    tar cvzf suggestions-logs.$(date '+%Y%m%d_%H%M').tar.gz /opt/suggestions/appserver/standalone/log/*.log
    tar cvzf factor-logs.$(date '+%Y%m%d_%H%M').tar.gz /opt/factor/appserver/standalone/log/*.log
  9. Соберите логи за последние 3 дня:

    find /opt/suggestions/appserver/standalone/log/ -type f -mtime -2 | tar cvzf suggestions-logs.$(date '+%Y%m%d_%H%M').tar.gz -T -
    find /opt/factor/appserver/standalone/log/ -type f -mtime -2 | tar cvzf factor-logs.$(date '+%Y%m%d_%H%M').tar.gz -T -
  10. Соберите полные логи:

    tar cvzf suggestions-logs.$(date '+%Y%m%d_%H%M').tar.gz /opt/suggestions/appserver/standalone/log/*.log*
    tar cvzf factor-logs.$(date '+%Y%m%d_%H%M').tar.gz /opt/factor/appserver/standalone/log/*.log*
  11. Соберите системные логи:

    tar cvzf syslog.$(date '+%Y%m%d_%H%M').tar.gz /var/log/messages
  12. Соберите диагностику запросов из браузера, как описано в следующем разделе.

Диагностика запросов из браузера

  1. Зайти в Google Chrome на проблемную страницу.
  2. Открыть панель разработчика (Ctrl+Shift+I), перейти на вкладку Network.
  3. Поставить галочку Preserve log.
  4. Обновить страницу и начать вводить данные в поле, к которому подключены подсказки.
  5. В панели разработчика появятся несколько запросов. По любому из них ткнуть правой кнопкой мыши, выбрать пункт Save as HAR with content, сохранить в файл.

Если у вас Internet Explorer, дополнительно пришлите

На закладке «Сеть» предварительно нажмите кнопку «Начать сбор».

Если возвращают не тот результат, что вы ожидаете

  1. Какой запрос (полностью).
  2. Какой получаете ответ (полностью, значения всех полей).
  3. Информация о версии подсказок и справочниках (в браузере зайдите на http://IP_АДРЕС_СЕРВЕРА:8080/suggestions/api/4_1/rs/status).