Skip to main content

Управление индексами поиска для экземпляра

GitHub Enterprise Server использует Elasticsearch для работы с функциями поиска и предоставляет средства для управления поведением поиска и индекса.

Кто может использовать эту функцию?

Enterprise owners can manage search indices for a GitHub Enterprise Server instance.

О поиске GitHub Enterprise Server

Пользователи могут искать, перемещаться и понимать проблемы, запросы на вытягивание, код и другое содержимое на GitHub Enterprise Server. Elasticsearch позволяет выполнять поиск в экземпляре. Текущее состояние Elasticsearch можно просмотреть и управлять поведением поиска и индекса.

Дополнительные сведения о поиске GitHub Enterprise Serverсм. в разделе "Поиск по документации по GitHub". Дополнительные сведения об Elasticsearch см. на веб-сайте Elasticsearch.

Сведения об управлении индексами

GitHub Enterprise Server сопоставляет состояние индекса поиска с данными в экземпляре автоматически и регулярно, включая:

  • Проблемы, запросы на вытягивание, репозитории и пользователи в базе данных
  • Репозитории Git (исходный код) на диске

В обычном использовании владельцы предприятия не должны создавать новые индексы или планировать задания восстановления. Для устранения неполадок или других целей поддержки Служба поддержки GitHub может поручить выполнить задание восстановления.

Просмотр индексов поиска

  1. В правом верхнем углу любой страницы щелкните .
  2. На левой боковой панели щелкните " Поиск индексов".
  3. В разделе "Управление индексами" щелкните индекс поиска, который требуется просмотреть.

Создание нового индекса поиска

  1. В правом верхнем углу любой страницы щелкните .

  2. На левой боковой панели щелкните " Поиск индексов".

  3. Рядом с элементом "Управление индексами" нажмите кнопку "Создать новый индекс".

  4. Выберите индекс для создания раскрывающегося списка, а затем щелкните индекс поиска, который нужно создать.

  5. Если вы хотите, чтобы индекс был доступен для поиска, установите флажок "Сделать этот индекс пригодным для поиска".

  6. Если вы хотите, чтобы индекс был записываемым, установите флажок "Сделать этот индекс доступным для записи".

  7. Нажмите кнопку "Создать индекс".

  8. Если в экземпляре используется высокая доступность или конфигурация кластера, необходимо запустить скрипт, чтобы убедиться, что количество индексов поиска правильно настроено в экземпляре.

    Перейдите к административной оболочке для основного устройства через SSH, а затем выполните одну из следующих команд.

    Для конфигураций высокого уровня доступности:

    Shell
    /usr/local/share/enterprise/ghe-es-auto-expand -v 0-all
    

    Для конфигураций кластера:

    Shell
    /usr/local/share/enterprise/ghe-es-auto-expand -v 0-1
    

    См. раздел "Доступ к административной оболочке (SSH)".

Управление индексами поиска

При просмотре существующего индекса поиска на панели мониторинга администратора сайта можно выполнить следующие действия:

  • Сделать индекс доступным для поиска.
  • Сделать индекс доступным для записи.
  • Обновить индекс.
  • Удалите индекс.
  • Сбросить состояние восстановления индекса.
  • Запустить новое задание по восстановлению индекса.
  • Включить или отключить задания по восстановлению индекса.

Вы можете включить или отключить операции поиска и индекса для исходного кода. Дополнительные сведения о поиске кода см. в разделе "Поиск кода".

  1. В правом верхнем углу любой страницы щелкните .
  2. На левой боковой панели щелкните " Поиск индексов".
  3. В разделе "Поиск кода" рядом с элементом "Поиск" или "Индексирование" нажмите кнопку "Включить или отключить".

Восстановление индексов поиска

Экземпляр использует задания восстановления для согласования данных и планирует задание восстановления в фоновом режиме при возникновении следующих событий:

  • при создании нового индекса поиска;
  • когда необходимо заполнить отсутствующие данные;
  • когда необходимо обновить старые данные поиска.

В разделе "Восстановление" индекса поиска индикатор хода выполнения отображает текущее состояние задания восстановления для фоновых рабочих ролей. Значение, отображаемое на панели выполнения, можно игнорировать после завершения задания восстановления. На панели хода выполнения показано различие между смещением восстановления и самым высоким идентификатором записи в базе данных и уменьшится, так как в ваш экземпляр GitHub Enterprise Server эти репозитории фактически индексируются.

Чтобы свести к минимуму влияние на производительность ввода-вывода и снизить вероятность истечения времени ожидания по операциям, попробуйте запустить задание по восстановлению в часы с низкой загрузкой. Так как задание согласовывает индекс поиска с данными базы данных и репозитория Git, будет использоваться один ЦП. Отслеживайте средние показатели загрузки системы и загрузку ЦП с помощью служебной программы, например top. Если вы не заметили значительного увеличения потребления ресурсов, можно запускать задание восстановления индекса в часы пиковых нагрузок.

В заданиях по восстановлению используется "смещение восстановления" для параллелизации. Это смещение в таблицу базы данных для сверяемой записи. На основе этого смещения несколько фоновых заданий могут синхронизировать свою работу.