Share via


Code Search Results - Fetch Code Search Results

提供搜尋文字的一組結果。

POST https://almsearch.dev.azure.com/{organization}/{project}/_apis/search/codesearchresults?api-version=7.1-preview.1

URI 參數

名稱 位於 必要 類型 Description
organization
path True

string

Azure DevOps 組織的名稱。

project
path

string

專案識別碼或專案名稱

api-version
query True

string

要使用的 API 版本。 這應該設定為 '7.1-preview.1' 以使用此版本的 API。

要求本文

名稱 類型 Description
$orderBy

SortOption[]

排序搜尋結果的選項。 如果設定為 null,則會依相關性傳回結果。 如果提供多個排序選項,結果會依 OrderBy 中指定的順序排序。

$skip

integer

要略過的結果數目。

$top

integer

要傳回的結果數目。

filters

object

要套用的篩選。 如果沒有要套用的篩選準則,請將它設定為 null。

includeFacets

boolean

旗標以選擇結果中的 Facet。 預設行為為 false。

includeSnippet

boolean

選擇要在結果中包含相符程式碼片段的旗標。 預設行為為 false。

searchText

string

搜尋的文字。

回應

名稱 類型 Description
200 OK

CodeSearchResponse

成功的作業

安全性

oauth2

Type: oauth2
Flow: accessCode
Authorization URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

Scopes

名稱 Description
vso.code 授與讀取認可、變更集、分支和其他版本控制成品之原始程式碼和中繼資料的能力。 也授與搜尋程式碼的能力,並透過服務勾點取得版本控制事件的通知。

範例

Sample Request

POST https://almsearch.dev.azure.com/fabrikam/_apis/search/codesearchresults?api-version=7.1-preview.1

{
  "searchText": "CodeSearchController",
  "$skip": 0,
  "$top": 1,
  "filters": {
    "Project": [
      "MyFirstProject"
    ],
    "Repository": [
      "MyFirstProject"
    ],
    "Path": [
      "/"
    ],
    "Branch": [
      "master"
    ],
    "CodeElement": [
      "def",
      "class"
    ]
  },
  "$orderBy": [
    {
      "field": "filename",
      "sortOrder": "ASC"
    }
  ],
  "includeFacets": true
}

Sample Response

{
  "count": 1,
  "results": [
    {
      "fileName": "CodeSearchController.cs",
      "path": "/CodeSearchController.cs",
      "matches": {
        "content": [
          {
            "charOffset": 1187,
            "length": 20
          },
          {
            "charOffset": 1395,
            "length": 20
          },
          {
            "charOffset": 1686,
            "length": 20
          }
        ],
        "fileName": [
          {
            "charOffset": 0,
            "length": -1
          }
        ]
      },
      "collection": {
        "name": "DefaultCollection"
      },
      "project": {
        "name": "MyFirstProject",
        "id": "00000000-0000-0000-0000-000000000000"
      },
      "repository": {
        "name": "MyFirstProject",
        "id": "c1548045-29f6-4354-8114-55ef058be1a3",
        "type": "git"
      },
      "versions": [
        {
          "branchName": "master",
          "changeId": "47e1cc8877baea4b7bb33af803d6cc697914f88b"
        }
      ],
      "contentId": "004898f1ad91c9c2a0f492f2d1174468bc3c84ef"
    }
  ],
  "infoCode": 0,
  "facets": {
    "Project": [
      {
        "name": "MyFirstProject",
        "id": "MyFirstProject",
        "resultCount": 1
      }
    ],
    "Repository": [
      {
        "name": "MyFirstProject",
        "id": "MyFirstProject",
        "resultCount": 1
      }
    ],
    "CodeElement": [
      {
        "name": "Class",
        "id": "class",
        "resultCount": 1
      },
      {
        "name": "Comment",
        "id": "comment",
        "resultCount": 1
      },
      {
        "name": "Definition",
        "id": "def",
        "resultCount": 1
      }
    ]
  }
}

定義

名稱 Description
CodeResult

定義包含所搜尋檔案及其中繼資料資訊的程式碼結果。

CodeSearchRequest

定義程式碼搜尋要求。

CodeSearchResponse

定義程式碼搜尋回應專案。

Collection

定義集合的詳細資料。

Project

定義專案的詳細資料。

Repository

定義存放庫的詳細資料。

SortOption

定義如何排序結果。

Version

描述與結果檔版本相關的詳細資料。

VersionControlType

結果檔的版本控制類型。

CodeResult

定義包含所搜尋檔案及其中繼資料資訊的程式碼結果。

名稱 類型 Description
collection

Collection

結果檔的集合。

contentId

string

結果檔的 ContentId。

fileName

string

結果檔的名稱。

matches

object

要叫用結果檔中位移的欄位字典。 索引鍵可識別找到點擊的區域,例如:檔案內容/檔案名等。

path

string

結果檔存在的路徑。

project

Project

結果檔的專案。

repository

Repository

結果檔案的存放庫。

versions

Version[]

結果檔的版本。

CodeSearchRequest

定義程式碼搜尋要求。

名稱 類型 Description
$orderBy

SortOption[]

排序搜尋結果的選項。 如果設定為 null,則會依相關性傳回結果。 如果提供多個排序選項,結果會依 OrderBy 中指定的順序排序。

$skip

integer

要略過的結果數目。

$top

integer

要傳回的結果數目。

filters

object

要套用的篩選。 如果沒有要套用的篩選準則,請將它設定為 null。

includeFacets

boolean

旗標以選擇結果中的 Facet。 預設行為為 false。

includeSnippet

boolean

選擇要在結果中包含相符程式碼片段的旗標。 預設行為為 false。

searchText

string

搜尋的文字。

CodeSearchResponse

定義程式碼搜尋回應專案。

名稱 類型 Description
count

integer

相符檔案總數。

facets

object

字典,針對每個 Facet 儲存物件的陣列 Filter

infoCode

integer

指出任何其他資訊的數值代碼:0 - 確定,1 - 帳戶正在重新編制索引,2 - 帳戶索引尚未啟動,3 - 不支援前置詞萬用字元查詢,5 - 不支援程式碼 Facet 的 MultiWords,6 - 帳戶正在上線,7 - 帳戶已上線或重新編制索引,8 - 已修剪為允許 maxresult 的 Top 值 9 - 正在編制索引分支, 10 - 未啟用 Facet、11 - 無法存取工作專案、19 - 不支援程式碼類型篩選的片語查詢、20 - 不支援程式碼類型篩選的萬用字元查詢。 任何其他資訊程式碼都用於內部用途。

results

CodeResult[]

相符檔案的清單。

Collection

定義集合的詳細資料。

名稱 類型 Description
name

string

集合的名稱。

Project

定義專案的詳細資料。

名稱 類型 Description
id

string

專案的識別碼。

name

string

專案的名稱。

Repository

定義存放庫的詳細資料。

名稱 類型 Description
id

string

存放庫的識別碼。

name

string

存放庫的名稱。

type

VersionControlType

結果檔的版本控制類型。

SortOption

定義如何排序結果。

名稱 類型 Description
field

string

應該執行排序的功能變數名稱。

sortOrder

string

排序 (ASC/DESC) ,其中應該排序結果。

Version

描述與結果檔版本相關的詳細資料。

名稱 類型 Description
branchName

string

分支的名稱。

changeId

string

與這個相符專案相關聯之指定分支中的 ChangeId。

VersionControlType

結果檔的版本控制類型。

名稱 類型 Description
custom

string

供內部使用。

git

string

tfvc

string