共用方式為


Code Search Results - Fetch Code Search Results

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

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

URI 參數

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

string

Azure DevOps 組織的名稱。

project
path

string

項目識別碼或項目名稱

api-version
query True

string

要使用的 API 版本。 這應該設定為 『7.1』 以使用此版本的 API。

要求本文

名稱 類型 Description
$orderBy

SortOption[]

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

$skip

integer (int32)

要略過的結果數目。

$top

integer (int32)

要傳回的結果數目。

filters

object

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

includeFacets

boolean

旗標以在結果中選擇多面向。 默認行為為 false。

includeSnippet

boolean

旗標以選擇在結果中包含相符的代碼段。 默認行為為 false。

searchText

string

搜尋文字。

回應

名稱 類型 Description
200 OK

CodeSearchResponse

成功作業

安全性

oauth2

類型: oauth2
Flow: accessCode
授權 URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
權杖 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

範圍

名稱 Description
vso.code 授與讀取有關認可、變更集、分支和其他版本控制成品之原始程式碼和元數據的能力。 也授與搜尋程式代碼的能力,並透過服務攔截取得版本控制事件的通知。

範例

範例要求

POST https://almsearch.dev.azure.com/fabrikam/_apis/search/codesearchresults?api-version=7.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
}

範例回覆

{
  "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 (int32)

要略過的結果數目。

$top

integer (int32)

要傳回的結果數目。

filters

object

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

includeFacets

boolean

旗標以在結果中選擇多面向。 默認行為為 false。

includeSnippet

boolean

旗標以選擇在結果中包含相符的代碼段。 默認行為為 false。

searchText

string

搜尋文字。

CodeSearchResponse

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

名稱 類型 Description
count

integer (int32)

相符的檔案總數。

facets

object

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

infoCode

integer (int32)

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

results

CodeResult[]

相符檔案的清單。

Collection

定義集合的詳細數據。

名稱 類型 Description
name

string

集合的名稱。

Project

定義專案的詳細數據。

名稱 類型 Description
id

string (uuid)

項目的標識碼。

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

供內部使用。

git
tfvc