InfoGrab DocsInfoGrab Docs

고급 검색

요약

고급 검색을 사용하면 GitLab 인스턴스 전체에서 필요한 것을 정확히 찾을 수 있습니다. 고급 검색으로 다음을 할 수 있습니다. 고급 검색은 다음 대상에서 동작합니다. 고급 검색을 사용하려면 다음과 같이 진행합니다. 프로젝트나 그룹 안에서도 고급 검색을 사용할 수 있습니다.

고급 검색을 사용하면 GitLab 인스턴스 전체에서 필요한 것을 정확히 찾을 수 있습니다.

고급 검색으로 다음을 할 수 있습니다.

  • 모든 프로젝트에서 코드 패턴을 파악하여 공유 컴포넌트를 더 효율적으로 리팩터링합니다.
  • 조직 전체의 코드베이스와 의존성에서 보안 취약점을 찾습니다.
  • 모든 리포지터리에서 지원 중단된 함수나 라이브러리의 사용처를 추적합니다.
  • 이슈, 머지 리퀘스트, 댓글에 묻혀 있는 논의를 찾습니다.
  • 이미 있는 기능을 다시 만들지 않고 기존 해법을 찾습니다.

고급 검색은 다음 대상에서 동작합니다.

  • Code
  • Comments
  • Commits
  • Groups
  • Work items
  • Merge requests
  • Milestones
  • Projects
  • Users
  • Wikis

고급 검색 사용#

사전 요구 사항:

  • 고급 검색이 활성화되어 있어야 합니다.
    • GitLab.com 및 GitLab Dedicated에서는 유료 구독에서 고급 검색이 기본적으로 활성화되어 있습니다.
    • GitLab Self-Managed에서는 관리자가 고급 검색을 활성화해야 합니다.

고급 검색을 사용하려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택합니다.
  2. 검색 상자에 검색어를 입력합니다.

프로젝트나 그룹 안에서도 고급 검색을 사용할 수 있습니다.

사용 가능한 범위#

히스토리
  • 이슈의 댓글 검색이 GitLab 18.0에서 search_work_item_queries_notes라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 이슈의 댓글 검색이 GitLab 18.1에서 GitLab.com에서 활성화되었습니다.
  • 이슈의 댓글 검색이 GitLab 18.6에서 일반 제공되었습니다. 기능 플래그 search_work_item_queries_notes는 제거되었습니다.
  • 머지 리퀘스트의 댓글 검색이 GitLab 18.6에서 search_merge_request_queries_notes라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 머지 리퀘스트의 댓글 검색이 GitLab 18.7에서 일반 제공되었습니다. 기능 플래그 search_merge_request_queries_notes는 제거되었습니다.
  • Groups 범위가 GitLab 19.4에서 elasticsearch_group_search라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 19.5에서 Groups 범위가 일반 제공되었습니다. 기능 플래그 elasticsearch_group_search가 제거되었습니다.

범위는 검색 대상 데이터의 유형을 나타냅니다. 고급 검색에서는 다음 범위를 사용할 수 있습니다.

Scope Global1, 2 Group Project
Code ✅ ✅ ✅
Comments ✅ ✅ ✅
Commits ✅ ✅ ✅
Groups3 ✅ ✅ ❌
Work items4 ✅ ✅ ✅
Merge requests4 ✅ ✅ ✅
Milestones5 ✅ ✅ ✅
Projects ✅ ✅ ❌
Users ✅ ✅ ✅
Wikis ✅ ✅ ✅

문법#

고급 검색은 정확 일치 쿼리와 퍼지 쿼리를 모두 지원하는 simple_query_string을 사용합니다.

사용자를 검색할 때는 기본적으로 fuzzy 쿼리를 사용합니다. simple_query_string으로 사용자 검색을 더 세밀하게 지정할 수 있습니다.

문법 설명 예시
" 정확 일치 검색 "gem sidekiq"
~ 퍼지 검색 J~ Doe
| 또는 display | banner
+ 그리고 display +banner
- 제외 display -banner
* 부분 일치 bug error 50*
\ 이스케이프 \*md
# 이슈 ID #23456
! 머지 리퀘스트 ID !23456

코드 검색#

문법 설명 예시
filename: 파일 이름 filename:*spec.rb
path: 리포지터리 위치(전체 또는 부분 일치) path:spec/workers/
extension: .을 뺀 파일 확장자(정확 일치만) extension:js
blob: Git 오브젝트 ID(정확 일치만) blob:998707*

예시#

쿼리 설명
rails -filename:gemfile.lock gemfile.lock 파일을 제외한 모든 파일에서 rails를 반환합니다.
RSpec.describe Resolvers -*builder builder로 시작하지 않는 RSpec.describe Resolvers를 반환합니다.
bug | (display +banner) bug, 또는 display와 banner를 모두 포함하는 결과를 반환합니다.
helper -extension:yml -extension:js .yml 또는 .js 확장자 파일을 제외한 모든 파일에서 helper를 반환합니다.
helper path:lib/git lib/git* 경로의 모든 파일에서 helper를 반환합니다(예: spec/lib/gitlab).

알려진 문제#

  • 1 MB 미만인 파일만 검색할 수 있습니다. GitLab Self-Managed에서는 관리자가 최대 인덱싱 파일 크기에 제한을 설정할 수 있습니다.

  • 고급 검색은 프로젝트의 기본 브랜치에서만 사용할 수 있습니다. 자세한 내용은 이슈 229966을 참고합니다.

  • 검색 쿼리에 다음 문자가 포함되어서는 안 됩니다.

    . , : ; / ` ' = ? $ & ^ | < > ( ) { } [ ] @
    
  • 검색 결과에는 파일에서 처음 일치한 부분만 표시됩니다.

관련 주제#

Footnotes

  1. 관리자는 전역 검색 범위를 비활성화할 수 있습니다. GitLab Self-Managed에서는 제한된 인덱싱이 기본적으로 활성화되어 있으면 전역 검색을 사용할 수 없습니다. 관리자는 제한된 인덱싱에 대해 전역 검색을 활성화할 수 있습니다. ↩

  2. GitLab.com에서는 코드, 커밋, 위키에 대해 전역 검색이 활성화되어 있지 않습니다. ↩

  3. 그룹 검색은 검색 중인 그룹 자체가 아니라 해당 그룹의 하위 그룹을 반환합니다. 이 범위가 결과를 반환하려면 backfill_groups_to_elasticsearch 고급 검색 마이그레이션이 완료되어 있어야 합니다. ↩

  4. 작업 항목과 머지 리퀘스트를 검색하면 검색어와 일치하는 댓글이 결과에 포함됩니다. ↩ ↩2

  5. 그룹 마일스톤은 Elasticsearch에 인덱싱되지 않으므로 고급 검색은 프로젝트 마일스톤만 반환합니다. 자세한 내용은 이슈 428589를 참조합니다. ↩

고급 검색

GitLab v19.5
Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

고급 검색을 사용하면 GitLab 인스턴스 전체에서 필요한 것을 정확히 찾을 수 있습니다. 고급 검색으로 다음을 할 수 있습니다. 고급 검색은 다음 대상에서 동작합니다. 고급 검색을 사용하려면 다음과 같이 진행합니다. 프로젝트나 그룹 안에서도 고급 검색을 사용할 수 있습니다.

고급 검색을 사용하면 GitLab 인스턴스 전체에서 필요한 것을 정확히 찾을 수 있습니다.

고급 검색으로 다음을 할 수 있습니다.

  • 모든 프로젝트에서 코드 패턴을 파악하여 공유 컴포넌트를 더 효율적으로 리팩터링합니다.
  • 조직 전체의 코드베이스와 의존성에서 보안 취약점을 찾습니다.
  • 모든 리포지터리에서 지원 중단된 함수나 라이브러리의 사용처를 추적합니다.
  • 이슈, 머지 리퀘스트, 댓글에 묻혀 있는 논의를 찾습니다.
  • 이미 있는 기능을 다시 만들지 않고 기존 해법을 찾습니다.

고급 검색은 다음 대상에서 동작합니다.

  • Code
  • Comments
  • Commits
  • Groups
  • Work items
  • Merge requests
  • Milestones
  • Projects
  • Users
  • Wikis

고급 검색 사용#

사전 요구 사항:

  • 고급 검색이 활성화되어 있어야 합니다.
    • GitLab.com 및 GitLab Dedicated에서는 유료 구독에서 고급 검색이 기본적으로 활성화되어 있습니다.
    • GitLab Self-Managed에서는 관리자가 고급 검색을 활성화해야 합니다.

고급 검색을 사용하려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택합니다.
  2. 검색 상자에 검색어를 입력합니다.

프로젝트나 그룹 안에서도 고급 검색을 사용할 수 있습니다.

사용 가능한 범위#

히스토리
  • 이슈의 댓글 검색이 GitLab 18.0에서 search_work_item_queries_notes라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 이슈의 댓글 검색이 GitLab 18.1에서 GitLab.com에서 활성화되었습니다.
  • 이슈의 댓글 검색이 GitLab 18.6에서 일반 제공되었습니다. 기능 플래그 search_work_item_queries_notes는 제거되었습니다.
  • 머지 리퀘스트의 댓글 검색이 GitLab 18.6에서 search_merge_request_queries_notes라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 머지 리퀘스트의 댓글 검색이 GitLab 18.7에서 일반 제공되었습니다. 기능 플래그 search_merge_request_queries_notes는 제거되었습니다.
  • Groups 범위가 GitLab 19.4에서 elasticsearch_group_search라는 기능 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 19.5에서 Groups 범위가 일반 제공되었습니다. 기능 플래그 elasticsearch_group_search가 제거되었습니다.

범위는 검색 대상 데이터의 유형을 나타냅니다. 고급 검색에서는 다음 범위를 사용할 수 있습니다.

Scope Global1, 2 Group Project
Code ✅ ✅ ✅
Comments ✅ ✅ ✅
Commits ✅ ✅ ✅
Groups3 ✅ ✅ ❌
Work items4 ✅ ✅ ✅
Merge requests4 ✅ ✅ ✅
Milestones5 ✅ ✅ ✅
Projects ✅ ✅ ❌
Users ✅ ✅ ✅
Wikis ✅ ✅ ✅

문법#

고급 검색은 정확 일치 쿼리와 퍼지 쿼리를 모두 지원하는 simple_query_string을 사용합니다.

사용자를 검색할 때는 기본적으로 fuzzy 쿼리를 사용합니다. simple_query_string으로 사용자 검색을 더 세밀하게 지정할 수 있습니다.

문법 설명 예시
" 정확 일치 검색 "gem sidekiq"
~ 퍼지 검색 J~ Doe
| 또는 display | banner
+ 그리고 display +banner
- 제외 display -banner
* 부분 일치 bug error 50*
\ 이스케이프 \*md
# 이슈 ID #23456
! 머지 리퀘스트 ID !23456

코드 검색#

문법 설명 예시
filename: 파일 이름 filename:*spec.rb
path: 리포지터리 위치(전체 또는 부분 일치) path:spec/workers/
extension: .을 뺀 파일 확장자(정확 일치만) extension:js
blob: Git 오브젝트 ID(정확 일치만) blob:998707*

예시#

쿼리 설명
rails -filename:gemfile.lock gemfile.lock 파일을 제외한 모든 파일에서 rails를 반환합니다.
RSpec.describe Resolvers -*builder builder로 시작하지 않는 RSpec.describe Resolvers를 반환합니다.
bug | (display +banner) bug, 또는 display와 banner를 모두 포함하는 결과를 반환합니다.
helper -extension:yml -extension:js .yml 또는 .js 확장자 파일을 제외한 모든 파일에서 helper를 반환합니다.
helper path:lib/git lib/git* 경로의 모든 파일에서 helper를 반환합니다(예: spec/lib/gitlab).

알려진 문제#

  • 1 MB 미만인 파일만 검색할 수 있습니다. GitLab Self-Managed에서는 관리자가 최대 인덱싱 파일 크기에 제한을 설정할 수 있습니다.

  • 고급 검색은 프로젝트의 기본 브랜치에서만 사용할 수 있습니다. 자세한 내용은 이슈 229966을 참고합니다.

  • 검색 쿼리에 다음 문자가 포함되어서는 안 됩니다.

    . , : ; / ` ' = ? $ & ^ | < > ( ) { } [ ] @
    
  • 검색 결과에는 파일에서 처음 일치한 부분만 표시됩니다.

관련 주제#

Footnotes

  1. 관리자는 전역 검색 범위를 비활성화할 수 있습니다. GitLab Self-Managed에서는 제한된 인덱싱이 기본적으로 활성화되어 있으면 전역 검색을 사용할 수 없습니다. 관리자는 제한된 인덱싱에 대해 전역 검색을 활성화할 수 있습니다. ↩

  2. GitLab.com에서는 코드, 커밋, 위키에 대해 전역 검색이 활성화되어 있지 않습니다. ↩

  3. 그룹 검색은 검색 중인 그룹 자체가 아니라 해당 그룹의 하위 그룹을 반환합니다. 이 범위가 결과를 반환하려면 backfill_groups_to_elasticsearch 고급 검색 마이그레이션이 완료되어 있어야 합니다. ↩

  4. 작업 항목과 머지 리퀘스트를 검색하면 검색어와 일치하는 댓글이 결과에 포함됩니다. ↩ ↩2

  5. 그룹 마일스톤은 Elasticsearch에 인덱싱되지 않으므로 고급 검색은 프로젝트 마일스톤만 반환합니다. 자세한 내용은 이슈 428589를 참조합니다. ↩