정확한 코드 검색
Status: Beta
- GitLab 15.9에서
index_code_with_zoekt
및search_code_with_zoekt
라는 플래그와 함께 베타로 도입되었습니다. 기본적으로 비활성화되어 있습니다.- GitLab.com에서 GitLab 16.6에 활성화되었습니다.
- 기능 플래그
index_code_with_zoekt
및search_code_with_zoekt
는 GitLab 17.1에서 삭제되었습니다.
정확한 코드 검색을 사용하면 모든 GitLab 또는 특정 프로젝트에서
정확한 일치 및 정규 표현식 모드를 사용하여 코드 검색을 할 수 있습니다.
정확한 코드 검색은 Zoekt에 의해 지원되며,
기능이 활성화된 그룹에서 기본적으로 사용됩니다.
정확한 코드 검색 활성화
-
GitLab.com에서는
유료 구독에 대해 정확한 코드 검색이 활성화됩니다. -
GitLab self-managed에서는 관리자가
Zoekt 설치 및
정확한 코드 검색 활성화를 해야 합니다.
Zoekt 검색 API
- GitLab 16.9에서
zoekt_search_api
라는 플래그와 함께 도입되었습니다. 기본적으로 활성화되어 있습니다.
이 기능의 사용 가능성은 기능 플래그에 의해 제어됩니다.
자세한 내용은 기록을 참조하세요.
이 기능은 테스트용으로 사용할 수 있지만, 프로덕션 사용을 위해 준비되지 않았습니다.
Zoekt 검색 API를 사용하면 정확한 코드 검색을 위해 검색 API를 사용할 수 있습니다.
고급 검색 또는 기본 검색을 사용하려면
검색 유형 지정을 참조하세요.
기본적으로 Zoekt 검색 API는 변경 사항을 방지하기 위해 GitLab.com에서 비활성화되어 있습니다.
이 기능에 대한 액세스를 요청하려면 GitLab에 문의하세요.
전역 코드 검색
- GitLab 16.11에서
zoekt_cross_namespace_search
라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
이 기능의 사용 가능성은 기능 플래그에 의해 제어됩니다.
자세한 내용은 기록을 참조하세요.
이 기능은 테스트용으로 사용할 수 있지만, 프로덕션 사용을 위해 준비되지 않았습니다.
이 기능을 사용하여 전체 GitLab 인스턴스에서 코드를 검색할 수 있습니다.
전역 코드 검색은 대규모 GitLab 인스턴스에서 성능이 좋지 않습니다.
이 기능이 20,000개 이상의 프로젝트를 가진 인스턴스에 대해 활성화되면,
검색 시 타임아웃이 발생할 수 있습니다.
검색 모드
GitLab에는 두 가지 검색 모드가 있습니다:
- 정확 일치 모드: 쿼리와 정확히 일치하는 결과를 반환합니다.
- 정규 표현식 모드: 정규 및 불리언 표현식을 지원합니다.
정확 일치 모드는 기본적으로 사용됩니다.
정규 표현식 모드로 전환하려면, 검색 상자 오른쪽에서 정규 표현식 사용()을 선택하십시오.
구문
이 표는 정확 일치 및 정규 표현식 모드에 대한 몇 가지 쿼리 예시를 보여줍니다.
쿼리 | 정확 일치 모드 | 정규 표현식 모드 |
---|---|---|
"foo" |
"foo" |
foo |
foo file:^doc/ |
/doc 로 시작하는 디렉토리 내의 foo
|
/doc 로 시작하는 디렉토리 내의 foo
|
"class foo" |
"class foo" |
class foo |
class foo |
class foo |
class 와 foo
|
foo or bar |
foo or bar |
foo 또는 bar
|
class Foo |
class Foo (대소문자 구분 안 함) |
class (대소문자 구분 안 함) 및 Foo (대소문자 구분 함) |
class Foo case:yes |
class Foo (대소문자 구분 함) |
class 와 Foo (모두 대소문자 구분 함) |
foo -bar |
foo -bar |
foo 이지만 bar 는 제외 |
foo file:js |
js 를 포함하는 이름의 파일 내의 foo
|
js 를 포함하는 이름의 파일 내의 foo
|
foo -file:test |
test 를 포함하지 않는 이름의 파일 내의 foo
|
test 를 포함하지 않는 이름의 파일 내의 foo
|
foo lang:ruby |
Ruby 소스 코드 내의 foo
|
Ruby 소스 코드 내의 foo
|
foo file:\.js$ |
.js 로 끝나는 이름의 파일 내의 foo
|
.js 로 끝나는 이름의 파일 내의 foo
|
foo.*bar |
없음 |
foo.*bar (정규 표현식) |
sym:foo |
클래스, 메서드 및 변수 이름과 같은 기호 내의 foo
|
클래스, 메서드 및 변수 이름과 같은 기호 내의 foo
|