고급 검색

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

전체 GitLab 인스턴스에서 더 빠르고 더 효율적인 검색을 위해 고급 검색을 사용할 수 있습니다. 고급 검색은 대부분의 경우에 초당 결과를 얻을 수 있는 수평 확장이 가능한 목적에 맞는 전체 텍스트 검색 엔진인 Elasticsearch를 기반으로 합니다.

모든 프로젝트에서 수정하고자 하는 코드를 한꺼번에 찾아 유지보수 시간을 절약하고 이너소싱(innersourcing)을 촉진할 수 있습니다.

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

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

고급 검색 활성화

구문

  • 사용자 검색을 세분화하는 기능은 GitLab 15.10에서 도입되었습니다.

고급 검색은 simple_query_string을 사용하며, 정확한 및 모호한 쿼리를 지원합니다.

사용자를 검색할 때 기본적으로 fuzzy 쿼리가 사용됩니다. simple_query_string을 사용하여 사용자 검색을 세분화할 수 있습니다.

구문 설명 예시
" 정확한 검색 "gem sidekiq"
~ 모호한 검색 J~ Doe
| 또는 display | banner
+ 그리고 display +banner
- 제외 display -banner
* 일부분 bug error 50*
\ 이스케이프 \*md
# 이슈 ID #23456
! Merge Request 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 또는 displaybanner를 반환합니다.
helper -extension:yml -extension:js .yml 또는 .js 확장자가 있는 파일을 제외한 모든 파일에서 helper를 반환합니다.
helper path:lib/git lib/git* 경로(예: spec/lib/gitlab)에 있는 모든 파일에서 helper를 반환합니다.

알려진 이슈

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

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

    자세한 정보는 issue 325234를 참조하십시오.

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