고급 검색

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
  • 13.9에서 GitLab Premium으로 이동되었습니다.

전체 GitLab 인스턴스 전반에 걸쳐 더 빠르고 효율적인 검색을 위해 고급 검색을 사용할 수 있습니다. 고급 검색은 대부분의 경우에 최대 1초 내로 결과를 얻을 수 있도록 수평으로 확장할 수 있는 전용 전체 텍스트 검색 엔진인 Elasticsearch를 기반으로 합니다.

유지 보수 시간을 절약하고 이너소싱을 촉진하기 위해 모든 프로젝트에서 업데이트하려는 코드를 한꺼번에 찾을 수 있습니다.

고급 검색을 다음에서 사용할 수 있습니다.

  • 프로젝트
  • 이슈
  • Merge Request
  • 마일스톤
  • 사용자
  • 에픽
  • 코드
  • 코멘트
  • 커밋
  • 프로젝트 및 그룹 위키

고급 검색 활성화

구문

고급 검색은 Elasticsearch 구문을 사용합니다. 이 구문은 정확 및 모호한 검색 쿼리를 모두 지원합니다.

구문 설명 예시
" 정확한 검색 "gem sidekiq"
~ 모호한 검색 J~ Doe
| 또는 display | banner
+ 그리고 display +banner
- 제외 display -banner
* 부분 bug error 50*
\ 이스케이프 \*md
# 이슈 ID #23456
! Merge Request ID !23456

사용자 검색

  • GitLab 15.10에서 소개된 사용자 검색 세분화 능력

사용자 검색 시, 기본적으로 모호한 쿼리가 사용됩니다. Elasticsearch 구문으로 사용자 검색을 세분화할 수 있습니다.

코드 검색

구문 설명 예시
filename: 파일 이름 filename:*spec.rb
path: 리포지터리 위치 1 path:spec/workers/
extension: . 없는 파일 확장자 2 extension:js
blob: Git 객체 ID 2 blob:998707*
  1. path:는 전체 또는 부분 경로에 대한 일치 항목을 반환합니다.
  2. extension:blob:은 정확한 일치 항목만 반환합니다.

예시

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

알려진 문제점

  • 1MB보다 작은 파일만 검색할 수 있습니다. 자세한 내용은 이슈 195764를 참조하십시오. Self-managed GitLab 인스턴스의 경우, 관리자가 이 설정을 구성할 수 있습니다.
  • 고급 검색은 프로젝트의 기본 브랜치에서만 사용할 수 있습니다. 자세한 내용은 이슈 229966를 참조하십시오.
  • 검색 쿼리에 다음 문자 중 하나도 포함해서는 안 됩니다:

    . , : ; / ` ' = ? $ & ^ | < > ( ) { } [ ] @
    

    자세한 내용은 이슈 325234를 참조하십시오.

  • 검색 결과에는 파일 내에서 첫 번째 일치 항목만 표시됩니다. 자세한 내용은 이슈 668를 참조하십시오.