정확한 코드 검색
- GitLab 15.9에 도입되었으며 기본적으로 비활성화된
index_code_with_zoekt
및search_code_with_zoekt
라는 플래그로 제공됩니다.
정확한 코드 검색을 사용하면 정규 표현식 및 정확한 일치 모드를 사용하여 모든 GitLab 또는 특정 프로젝트에서 코드를 검색할 수 있습니다.
정확한 코드 검색은 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
라는 플래그로 제공됩니다.
zoekt_exact_search
가 활성화되면 두 가지 검색 모드 간에 전환할 수 있습니다:
- 정규 표현식 모드: 정규 및 부울 표현식을 지원합니다.
- 정확한 일치 모드: 쿼리와 정확히 일치하는 결과를 반환합니다.
zoekt_exact_search
가 비활성화되면 기본적으로 정규 표현식 모드가 사용됩니다.
구문
이 표는 정규 표현식 및 정확한 일치 모드에 대한 몇 가지 예제 쿼리를 보여줍니다.
쿼리 | 정규 표현식 모드 | 정확한 일치 모드 |
---|---|---|
"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 또는 bar
| foo or 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 (정규 표현식)
| 없음 |