고급 검색

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

고급 검색을 사용하여 전체 GitLab 인스턴스에서 더 빠르고 효율적인 검색을 수행할 수 있습니다.
고급 검색은 Elasticsearch를 기반으로 하며, 수평적으로 확장할 수 있는 전용 전체 텍스트 검색 엔진으로, 대부분의 경우 1초 이내에 결과를 얻을 수 있습니다.

업데이트할 코드를 모든 프로젝트에서 한 번에 찾아 유지 관리 시간을 절약하고 인너소싱을 촉진할 수 있습니다.

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

  • 프로젝트
  • 이슈
  • 병합 요청
  • 마일스톤
  • 사용자
  • 에픽
  • 코드
  • 댓글
  • 커밋
  • 프로젝트 및 그룹 위키

고급 검색 활성화

구문

고급 검색은 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 또는 displaybanner를 모두 반환합니다.
helper -extension:yml -extension:js .yml 또는 .js 확장자를 가진 파일을 제외한 모든 파일에서 helper를 반환합니다.
helper path:lib/git lib/git* 경로(예: spec/lib/gitlab)를 가진 모든 파일에서 helper를 반환합니다.

알려진 문제

  • 1MB보다 작은 파일만 검색할 수 있습니다.
    자세한 내용은 문제 195764를 참조하세요.
    self-managed GitLab 인스턴스의 경우, 관리자가
    최대 색인 파일 크기 설정
    구성할 수 있습니다.

  • 기본 브랜치에서만 고급 검색을 사용할 수 있습니다.
    자세한 내용은 문제 229966를 참조하세요.

  • 검색 쿼리에는 다음 문자들이 포함될 수 없습니다:

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

    자세한 내용은 문제 325234를 참조하세요.

  • 검색 결과는 파일 내에서 첫 번째 일치 항목만 표시됩니다.
    자세한 내용은 문제 668을 참조하세요.