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 参数

名称 必需 类型 说明
organization
path True

string

Azure DevOps 组织的名称。

project
path

string

项目 ID 或项目名称

api-version
query True

string

要使用的 API 版本。 应将其设置为“7.1-preview.1”才能使用此版本的 API。

请求正文

名称 类型 说明
$orderBy

SortOption[]

用于对搜索结果进行排序的选项。 如果设置为 null,则返回结果将按相关性排序。 如果提供了多个排序选项,则结果将按 OrderBy 中指定的顺序进行排序。

$skip

integer

要跳过的结果数。

$top

integer

要返回的结果数。

filters

object

要应用的筛选器。 如果没有要应用的筛选器,则将其设置为 null。

includeFacets

boolean

在结果中选择分面的标志。 默认行为为 false。

includeSnippet

boolean

选择在结果中包含匹配代码片段的标志。 默认行为为 false。

searchText

string

搜索文本。

响应

名称 类型 说明
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

名称 说明
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
      }
    ]
  }
}

定义

名称 说明
CodeResult

定义代码结果,其中包含搜索的文件及其元数据的信息。

CodeSearchRequest

定义代码搜索请求。

CodeSearchResponse

定义代码搜索响应项。

Collection

定义集合的详细信息。

Project

定义项目的详细信息。

Repository

定义存储库的详细信息。

SortOption

定义如何对结果进行排序。

Version

描述与结果文件版本相关的详细信息。

VersionControlType

结果文件的版本控制类型。

CodeResult

定义代码结果,其中包含搜索的文件及其元数据的信息。

名称 类型 说明
collection

Collection

结果文件的集合。

contentId

string

结果文件的 ContentId。

fileName

string

结果文件的名称。

matches

object

要命中结果文件中偏移量的字段字典。 键标识在其中找到命中的区域,例如:文件内容/文件名等。

path

string

结果文件所在的路径。

project

Project

结果文件的项目。

repository

Repository

结果文件的存储库。

versions

Version[]

结果文件的版本。

CodeSearchRequest

定义代码搜索请求。

名称 类型 说明
$orderBy

SortOption[]

用于对搜索结果进行排序的选项。 如果设置为 null,则返回结果将按相关性排序。 如果提供了多个排序选项,则结果将按 OrderBy 中指定的顺序进行排序。

$skip

integer

要跳过的结果数。

$top

integer

要返回的结果数。

filters

object

要应用的筛选器。 如果没有要应用的筛选器,则将其设置为 null。

includeFacets

boolean

在结果中选择分面的标志。 默认行为为 false。

includeSnippet

boolean

选择在结果中包含匹配代码片段的标志。 默认行为为 false。

searchText

string

搜索文本。

CodeSearchResponse

定义代码搜索响应项。

名称 类型 说明
count

integer

匹配文件的总数。

facets

object

针对每个方面存储对象数组的 Filter 字典。

infoCode

integer

指示任何其他信息的数字代码:0 - 正常,1 - 帐户正在重新编制索引,2 - 帐户索引尚未启动,3 - 无效请求,4 - 不支持前缀通配符查询,5 - 不支持代码方面的多字,6 - 正在加入帐户,7 - 帐户正在加入或重新编制索引,8 - 最大值修整为 maxresult 允许 9 - 分支正在编制索引, 10 - 未启用分面,11 - 工作项不可访问,19 - 不支持代码类型筛选器的短语查询,20 - 不支持代码类型筛选器的通配符查询。 任何其他信息代码都用于内部目的。

results

CodeResult[]

匹配文件的列表。

Collection

定义集合的详细信息。

名称 类型 说明
name

string

集合的名称。

Project

定义项目的详细信息。

名称 类型 说明
id

string

项目的 ID。

name

string

项目名称。

Repository

定义存储库的详细信息。

名称 类型 说明
id

string

存储库的 ID。

name

string

- 存储库的名称。

type

VersionControlType

结果文件的版本控制类型。

SortOption

定义如何对结果进行排序。

名称 类型 说明
field

string

应对其执行排序的字段名称。

sortOrder

string

对结果进行排序 (ASC/DESC) 排序。

Version

描述与结果文件版本相关的详细信息。

名称 类型 说明
branchName

string

分支的名称。

changeId

string

与此匹配项关联的给定分支中的 ChangeId。

VersionControlType

结果文件的版本控制类型。

名称 类型 说明
custom

string

供内部使用。

git

string

tfvc

string