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 |
排序搜尋結果的選項。 如果設定為 null,則會依相關性傳回結果。 如果提供多個排序選項,結果會依照 OrderBy 中指定的順序排序。 |
|
$skip |
integer (int32) |
要略過的結果數目。 |
$top |
integer (int32) |
要傳回的結果數目。 |
filters |
object |
要套用的篩選條件。 如果沒有要套用的篩選條件,請將它設定為 null。 |
includeFacets |
boolean |
旗標以在結果中選擇多面向。 默認行為為 false。 |
includeSnippet |
boolean |
旗標以選擇在結果中包含相符的代碼段。 默認行為為 false。 |
searchText |
string |
搜尋文字。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
成功作業 |
安全性
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 |
---|---|
Code |
定義包含搜尋檔案及其元數據資訊的程式代碼結果。 |
Code |
定義程式代碼搜尋要求。 |
Code |
定義程式代碼搜尋回應專案。 |
Collection |
定義集合的詳細數據。 |
Project |
定義專案的詳細數據。 |
Repository |
定義存放庫的詳細數據。 |
Sort |
定義如何排序結果。 |
Version |
描述與結果檔版本相關的詳細數據。 |
Version |
結果檔的版本控制類型。 |
CodeResult
定義包含搜尋檔案及其元數據資訊的程式代碼結果。
名稱 | 類型 | Description |
---|---|---|
collection |
結果檔的集合。 |
|
contentId |
string |
結果檔的 ContentId。 |
fileName |
string |
結果檔的名稱。 |
matches |
object |
要叫用結果檔中位移的欄位字典。 索引鍵會識別找到點擊的區域,例如:檔案內容/檔名等。 |
path |
string |
結果檔存在的路徑。 |
project |
結果檔的專案。 |
|
repository |
結果檔案的存放庫。 |
|
versions |
Version[] |
結果檔的版本。 |
CodeSearchRequest
定義程式代碼搜尋要求。
名稱 | 類型 | Description |
---|---|---|
$orderBy |
排序搜尋結果的選項。 如果設定為 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 儲存 |
infoCode |
integer (int32) |
數值程式代碼,指出任何其他資訊:0 - 確定,1 - 帳戶正在重新編製索引,2 - 帳戶索引尚未啟動,3 - 不支援前置詞通配符查詢,5 - 不支援程式代碼 Facet 的多字詞,6 - 帳戶正在上線或重新編製索引,8 - 允許的 Maxresult 允許的最大值 9 - 分支正在編製索引, 10 - 未啟用 Faceting、11 - 無法存取的工作專案、19 - 不支援程式代碼類型篩選的片語查詢、20 - 不支援程式代碼類型篩選的通配符查詢。 任何其他資訊程式代碼都用於內部用途。 |
results |
相符檔案的清單。 |
Collection
定義集合的詳細數據。
名稱 | 類型 | Description |
---|---|---|
name |
string |
集合的名稱。 |
Project
定義專案的詳細數據。
名稱 | 類型 | Description |
---|---|---|
id |
string (uuid) |
項目的標識碼。 |
name |
string |
項目的名稱。 |
Repository
定義存放庫的詳細數據。
名稱 | 類型 | Description |
---|---|---|
id |
string |
存放庫的標識碼。 |
name |
string |
存放庫的名稱。 |
type |
結果檔的版本控制類型。 |
SortOption
定義如何排序結果。
名稱 | 類型 | Description |
---|---|---|
field |
string |
應該執行排序的功能變數名稱。 |
sortOrder |
string |
排序結果的順序(ASC/DESC)。 |
Version
描述與結果檔版本相關的詳細數據。
名稱 | 類型 | Description |
---|---|---|
branchName |
string |
分支的名稱。 |
changeId |
string |
與這個相符項目相關聯之指定分支中的 ChangeId。 |
VersionControlType
結果檔的版本控制類型。
值 | Description |
---|---|
custom |
供內部使用。 |
git | |
tfvc |