정확한 코드 검색
- 신규 도입으로, 기본으로 비활성화된
index_code_with_zoekt
및search_code_with_zoekt
라는 플래그를 사용하는 베타 기능이었습니다.- GitLab 16.6에서 GitLab.com에서 활성화됨.
- GitLab 17.1에서
index_code_with_zoekt
및search_code_with_zoekt
플래그가 제거됨.
정확한 코드 검색을 통해 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 16.8에
zoekt_exact_search
라는 플래그로 도입되었으며, 기본적으로 비활성화됩니다.- GitLab 17.3에 플래그
zoekt_exact_search
가 제거되어 정식으로 사용하게 되었습니다.
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
| 루비 소스 코드에서 foo
| 루비 소스 코드에서 foo
|
foo file:\.js$
|
.js 로 끝나는 파일에서 foo
|
.js 로 끝나는 파일에서 foo
|
foo.*bar
| 없음 |
foo.*bar (정규식)
|
sym:foo
| 클래스, 메소드 및 변수 이름과 같은 기호에 포함된 foo
| 클래스, 메소드 및 변수 이름과 같은 기호에 포함된 foo
|