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. "코드 검색" 섹션의 "검색" 또는 "인덱싱" 옆에 있는 사용 또는 사용 안 함을 클릭합니다.

검색 인덱스 복구

인스턴스는 복구 작업을 사용하여 데이터를 조정하고 다음 이벤트가 발생할 때 백그라운드에서 복구 작업을 예약합니다.

  • 새 검색 인덱스가 만들어질 때.
  • 누락된 데이터를 백필해야 할 때.
  • 이전 검색 데이터를 업데이트해야 할 때.

검색 인덱스의 "복구" 섹션에는 진행률 표시줄에 모든 백그라운드 작업자에 대한 복구 작업의 현재 상태가 표시됩니다. 복구 작업이 완료된 후 진행률 표시줄에 표시된 값을 무시할 수 있습니다. 진행률 표시줄은 복구 오프셋과 데이터베이스에서 가장 높은 레코드 ID의 차이를 표시하므로 해당 리포지토리가 실제로 인덱싱되더라도 GitHub Enterprise Server 인스턴스에 더 많은 리포지토리가 추가되면 감소합니다.

I/O 성능에 미치는 영향을 최소화하고 작업 시간 초과 가능성을 줄이려면 사용량이 적은 시간에 복구 작업을 실행해 보세요. 작업이 검색 인덱스를 데이터베이스 및 Git 리포지토리 데이터와 조정하면 하나의 CPU가 사용됩니다. top과 같은 유틸리티를 사용하여 시스템의 부하 평균 및 CPU 사용량을 모니터링합니다. 리소스 사용량이 크게 증가하지 않는 경우 사용량이 많은 시간 동안 인덱스 복구 작업을 실행하는 것도 안전해야 합니다.

복구 작업은 병렬 처리에 “복구 오프셋”을 사용합니다. 조정 중인 레코드에 대한 데이터베이스 테이블의 오프셋입니다. 여러 백그라운드 작업은 이 오프셋에 따라 작업을 동기화할 수 있습니다.