InfoGrab Docs

정확한 코드 검색

요약

이 기능은 제한된 가용성 상태입니다. 정확한 코드 검색을 사용하면 정확한 일치 및 정규 표현식 모드를 사용하여 모든 GitLab 또는 특정 프로젝트에서 코드를 검색할 수 있습니다. 정확한 코드 검색은 Zoekt를 기반으로 하며 기능이 활성화된 그룹에서 기본적으로 사용됩니다.

히스토리
  • GitLab 15.9에서 index_code_with_zoektsearch_code_with_zoekt라는 플래그와 함께 베타도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 16.6에서 GitLab.com 및 GitLab Self-Managed에서 활성화되었습니다.
  • GitLab 16.11에서 zoekt_cross_namespace_search라는 플래그와 함께 글로벌 코드 검색이 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 17.1에서 기능 플래그 index_code_with_zoektsearch_code_with_zoekt제거되었습니다.
  • GitLab 18.6에서 베타에서 제한된 가용성으로 변경되었습니다.
  • GitLab 18.7에서 기능 플래그 zoekt_cross_namespace_search제거되었습니다.
Warning

이 기능은 제한된 가용성 상태입니다. 자세한 내용은 에픽 9404를 참조하십시오. 이슈 420920에서 피드백을 제공하십시오.

정확한 코드 검색을 사용하면 정확한 일치 및 정규 표현식 모드를 사용하여 모든 GitLab 또는 특정 프로젝트에서 코드를 검색할 수 있습니다.

정확한 코드 검색은 Zoekt를 기반으로 하며 기능이 활성화된 그룹에서 기본적으로 사용됩니다.

정확한 코드 검색 사용#

사전 요건:

  • 정확한 코드 검색이 활성화되어 있어야 합니다:

정확한 코드 검색을 사용하려면:

  1. 상단 표시줄에서 Search or go to를 선택합니다.
  2. 검색 상자에 검색어를 입력합니다.
  3. 왼쪽 사이드바에서 Code를 선택합니다.

프로젝트 또는 그룹에서도 정확한 코드 검색을 사용할 수 있습니다.

사용 가능한 범위#

범위는 검색 중인 데이터 유형을 설명합니다. 정확한 코드 검색에 사용할 수 있는 범위는 다음과 같습니다:

범위 글로벌 1 2 그룹 프로젝트
코드

각주:

  1. 관리자는 글로벌 검색 범위를 비활성화할 수 있습니다. GitLab 18.6 이전에서는 GitLab Self-Managed에서 글로벌 검색을 활성화하려면 관리자가 zoekt_cross_namespace_search 기능 플래그도 활성화해야 했습니다.
  2. GitLab.com에서는 글로벌 검색이 활성화되지 않습니다.

Zoekt 검색 API#

히스토리
  • GitLab 16.9에서 zoekt_search_api라는 플래그와 함께 도입되었습니다. 기본적으로 활성화되어 있습니다.
  • GitLab 18.4에서 일반적으로 사용 가능하게 되었습니다. 기능 플래그 zoekt_search_api가 제거되었습니다.

Zoekt 검색 API를 사용하면 정확한 코드 검색을 위해 검색 API를 사용할 수 있습니다. 대신 고급 검색 또는 기본 검색을 사용하려면 검색 유형 지정을 참조하십시오.

검색 모드#

히스토리
  • GitLab 16.8에서 zoekt_exact_search라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 17.3에서 일반적으로 사용 가능하게 되었습니다. 기능 플래그 zoekt_exact_search가 제거되었습니다.

GitLab에는 두 가지 검색 모드가 있습니다:

  • 정확한 일치 모드: 쿼리와 정확히 일치하는 결과를 반환합니다.
  • 정규 표현식 모드: 정규 및 부울 표현식을 지원합니다.

기본적으로 정확한 일치 모드가 사용됩니다. 정규 표현식 모드로 전환하려면 검색 상자 오른쪽에서 Use regular expression ([regular-expression])을 선택합니다.

구문#

이 표는 정확한 일치 및 정규 표현식 모드에 대한 몇 가지 예시 쿼리를 보여줍니다.

쿼리 정확한 일치 모드 정규 표현식 모드
"foo" "foo" foo
foo file:^doc/ /doc으로 시작하는 디렉토리의 foo /doc으로 시작하는 디렉토리의 foo
"class foo" "class foo" class foo
class foo class foo classfoo
foo or bar foo or bar foo 또는 bar
class Foo class Foo (대소문자 구분) class (대소문자 구분 없음) 및 Foo (대소문자 구분)
class Foo case:yes class Foo (대소문자 구분) classFoo (모두 대소문자 구분)
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 (리터럴) foo.*bar (정규 표현식)
sym:foo 클래스, 메서드, 변수 이름 같은 심볼의 foo 클래스, 메서드, 변수 이름 같은 심볼의 foo

알려진 이슈#

  • 20_000개 미만의 트라이그램이 있는 1MB 미만의 파일만 검색할 수 있습니다. 자세한 내용은 이슈 455073을 참조하십시오.
  • 프로젝트의 기본 브랜치에서만 정확한 코드 검색을 사용할 수 있습니다. 자세한 내용은 이슈 403307을 참조하십시오.
  • 단일 줄의 여러 일치는 하나의 결과로 계산됩니다.
  • 줄 바꿈이 올바르게 표시되지 않는 결과가 발생하면 gitlab-zoekt를 버전 1.5.0 이상으로 업데이트하십시오.

정확한 코드 검색

Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed
원문 보기
요약

이 기능은 제한된 가용성 상태입니다. 정확한 코드 검색을 사용하면 정확한 일치 및 정규 표현식 모드를 사용하여 모든 GitLab 또는 특정 프로젝트에서 코드를 검색할 수 있습니다. 정확한 코드 검색은 Zoekt를 기반으로 하며 기능이 활성화된 그룹에서 기본적으로 사용됩니다.

히스토리
  • GitLab 15.9에서 index_code_with_zoektsearch_code_with_zoekt라는 플래그와 함께 베타도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 16.6에서 GitLab.com 및 GitLab Self-Managed에서 활성화되었습니다.
  • GitLab 16.11에서 zoekt_cross_namespace_search라는 플래그와 함께 글로벌 코드 검색이 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 17.1에서 기능 플래그 index_code_with_zoektsearch_code_with_zoekt제거되었습니다.
  • GitLab 18.6에서 베타에서 제한된 가용성으로 변경되었습니다.
  • GitLab 18.7에서 기능 플래그 zoekt_cross_namespace_search제거되었습니다.
Warning

이 기능은 제한된 가용성 상태입니다. 자세한 내용은 에픽 9404를 참조하십시오. 이슈 420920에서 피드백을 제공하십시오.

정확한 코드 검색을 사용하면 정확한 일치 및 정규 표현식 모드를 사용하여 모든 GitLab 또는 특정 프로젝트에서 코드를 검색할 수 있습니다.

정확한 코드 검색은 Zoekt를 기반으로 하며 기능이 활성화된 그룹에서 기본적으로 사용됩니다.

정확한 코드 검색 사용#

사전 요건:

  • 정확한 코드 검색이 활성화되어 있어야 합니다:

정확한 코드 검색을 사용하려면:

  1. 상단 표시줄에서 Search or go to를 선택합니다.
  2. 검색 상자에 검색어를 입력합니다.
  3. 왼쪽 사이드바에서 Code를 선택합니다.

프로젝트 또는 그룹에서도 정확한 코드 검색을 사용할 수 있습니다.

사용 가능한 범위#

범위는 검색 중인 데이터 유형을 설명합니다. 정확한 코드 검색에 사용할 수 있는 범위는 다음과 같습니다:

범위 글로벌 1 2 그룹 프로젝트
코드

각주:

  1. 관리자는 글로벌 검색 범위를 비활성화할 수 있습니다. GitLab 18.6 이전에서는 GitLab Self-Managed에서 글로벌 검색을 활성화하려면 관리자가 zoekt_cross_namespace_search 기능 플래그도 활성화해야 했습니다.
  2. GitLab.com에서는 글로벌 검색이 활성화되지 않습니다.

Zoekt 검색 API#

히스토리
  • GitLab 16.9에서 zoekt_search_api라는 플래그와 함께 도입되었습니다. 기본적으로 활성화되어 있습니다.
  • GitLab 18.4에서 일반적으로 사용 가능하게 되었습니다. 기능 플래그 zoekt_search_api가 제거되었습니다.

Zoekt 검색 API를 사용하면 정확한 코드 검색을 위해 검색 API를 사용할 수 있습니다. 대신 고급 검색 또는 기본 검색을 사용하려면 검색 유형 지정을 참조하십시오.

검색 모드#

히스토리
  • GitLab 16.8에서 zoekt_exact_search라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab 17.3에서 일반적으로 사용 가능하게 되었습니다. 기능 플래그 zoekt_exact_search가 제거되었습니다.

GitLab에는 두 가지 검색 모드가 있습니다:

  • 정확한 일치 모드: 쿼리와 정확히 일치하는 결과를 반환합니다.
  • 정규 표현식 모드: 정규 및 부울 표현식을 지원합니다.

기본적으로 정확한 일치 모드가 사용됩니다. 정규 표현식 모드로 전환하려면 검색 상자 오른쪽에서 Use regular expression ([regular-expression])을 선택합니다.

구문#

이 표는 정확한 일치 및 정규 표현식 모드에 대한 몇 가지 예시 쿼리를 보여줍니다.

쿼리 정확한 일치 모드 정규 표현식 모드
"foo" "foo" foo
foo file:^doc/ /doc으로 시작하는 디렉토리의 foo /doc으로 시작하는 디렉토리의 foo
"class foo" "class foo" class foo
class foo class foo classfoo
foo or bar foo or bar foo 또는 bar
class Foo class Foo (대소문자 구분) class (대소문자 구분 없음) 및 Foo (대소문자 구분)
class Foo case:yes class Foo (대소문자 구분) classFoo (모두 대소문자 구분)
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 (리터럴) foo.*bar (정규 표현식)
sym:foo 클래스, 메서드, 변수 이름 같은 심볼의 foo 클래스, 메서드, 변수 이름 같은 심볼의 foo

알려진 이슈#

  • 20_000개 미만의 트라이그램이 있는 1MB 미만의 파일만 검색할 수 있습니다. 자세한 내용은 이슈 455073을 참조하십시오.
  • 프로젝트의 기본 브랜치에서만 정확한 코드 검색을 사용할 수 있습니다. 자세한 내용은 이슈 403307을 참조하십시오.
  • 단일 줄의 여러 일치는 하나의 결과로 계산됩니다.
  • 줄 바꿈이 올바르게 표시되지 않는 결과가 발생하면 gitlab-zoekt를 버전 1.5.0 이상으로 업데이트하십시오.