在 Azure Boards 和 Azure DevOps 中运行语义工作项搜索

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

可以使用快捷方式筛选器或指定关键字或短语来查找工作项。 还可以使用特定的字段/字段值、分配或日期修改,或使用等于、包含和非运算符。 搜索不区分大小写。 如果要执行以下任务,请使用语义搜索:

  • 使用其 ID 或关键字查找特定工作项
  • 以快速、灵活的方式查找所有项目中的一个或多个工作项
  • 跨所有工作项字段运行全文搜索
  • 查看分配给特定团队成员的工作项
  • 搜索特定工作项字段以快速缩小工作项列表的范围
  • 确定哪些关键字支持托管搜索

为服务器实例配置了工作项搜索扩展时,可以针对 Azure DevOps Services 或本地部署从 Web 门户运行强大的语义搜索。

提示

如果已配置语义搜索,你会注意到搜索框将移动到蓝色栏中,如下图所示。

搜索工作项文本框

开始对工作项进行语义搜索

使用语义搜索可以搜索:

  • 跨一个或多个项目
  • 使用自定义文本跨所有工作项字段
  • 针对特定工作项字段

自定义文本搜索可跨所有工作项字段(包括自定义字段)轻松搜索,从而实现更自然的搜索。 搜索结果在代码片段视图中显示,其中找到的搜索匹配项突出显示。 语义搜索还与工作项跟踪集成,提供熟悉的控件,用于在工作项表单中查看、编辑、注释和共享信息。

  1. 选择任意“面板”页,在搜索框中输入关键字或短语,然后按 Enter 或选择 开始搜索图标。

    工作项搜索框

  2. 搜索结果在代码片段视图中显示,其中找到的匹配项以粗体显示。

    搜索结果

    此搜索是使用简单的搜索字符串来搜索字词或短语的全文搜索。 工作项搜索匹配搜索词的派生形式;例如,搜索“updating”还找到“updated”和“update”字词的实例。 搜索不区分大小写。

  3. 选择工作项的代码片段,将其显示在右侧窗口中。

    通过按 Ctrl + Enter 或按住 Ctrl 并单击 开始搜索图标 图标,在新的浏览器选项卡中打开搜索框中的搜索结果。 在 Google Chrome 中,按 Ctrl + Shift + Enter 将焦点切换到新的浏览器选项卡。

选择“新建导航”获取指导。 Azure DevOps Server 2019 不支持以前的导航。

微调语义搜索结果

  1. 通过指定要搜索的字段来优化搜索。 输入 a: 和用户名,以搜索分配给该用户的所有项。

    从标题栏搜索

    可以使用的快速筛选器包括:

    • a: 用于“分配给:”
    • c: 用于“创建者:”
    • s: 用于“状态”
    • t: 用于“工作项类型”

  2. 开始输入工作项中的字段名称;例如,键入 ta

    键入时快速筛选

    下拉列表显示与用户输入匹配的工作项字段名称建议,并帮助用户更快地完成搜索。 例如,tags:Critical 之类的搜索查找标记为“关键”的所有工作项。

  3. 添加更多筛选器以进一步缩小搜索范围,并在必要时使用布尔运算符来合并字词。 例如,a: Chris t: Bug s: Active 查找分配给名为“Chris”的用户的所有活动 bug。

  4. 使用结果页顶部的下拉选择器列表,将搜索范围缩小到特定类型和状态。

从 Web 门户

Azure DevOps Services 不提供即兴搜索。 仅提供语义搜索

搜索框快捷菜单(Web 门户)

从 Visual Studio 团队资源管理器

打开 上下文菜单图标 上下文菜单并选择一个选项。

搜索框菜单(团队资源管理器)

使用搜索框查找工作项(团队资源管理器)

使用搜索文本框查找工作项

可以合并快捷方式并在搜索框内使用搜索运算符。

使用 搜索框清除按钮(团队资源管理器)“清除”按钮从搜索框中删除内容。 若要将上下文从 Visual Studio 内切换到搜索框,请输入 Ctrl+'。

基于关键字或短语查找项

在搜索框中键入的关键字或短语将返回工作项的列表,这些工作项包含“说明”、“重现步骤”或“标题”字段中的这些关键字或短语。 将每个短语放入引号内。

在“搜索工作项”框中,针对感兴趣的工作项键入“标题”、“说明”或“重现步骤”字段中显示的关键字或短语。

将多个关键字放入引号内。

例如,若要查找带有“标题”或“说明”字段中指定关键字的工作项,请执行以下操作:

  • 对于关键字“复制”,输入“复制”。
  • 对于短语“入门”,输入“入门”。
  • 对于短语“入门”或关键字“功能”,输入功能“入门”。
筛选包含以下关键字或短语的项: 输入以下字符串:
复制 duplication
入门 "Getting Started"
功能和入门 feature "Getting Started"

可以对包含在任何文本字段内的关键字或短语运行部分或完全匹配查询。 或者,可以通过对包含在全文搜索索引内的关键字和短语进行筛选来运行全文搜索查询。 Team Foundation 自动为数据类型为“纯文本”和“HTML”的所有长文本字段以及“标题”字段编制索引,以进行全文搜索。

基于特定字段和字段值查找项

若要基于包含在其他文本字符串字段内的关键字或短语来查找工作项,请指定该字段的友好名称或引用名称。 将每个短语放入引号内。 通过将鼠标悬停在工作项窗体内的字段上,可确定该字段的友好名称。 若要确定常用字段的引用名称或查找未在表单上列出的字段,请参阅工作项字段索引

筛选满足以下条件的项: 输入以下字符串:
包含一个附加的文件。 System.AttachedFileCount=1
剪切用户情景。 T:Story Reason=Cut

T="User Story" System.Reason=Cut
解决者:Peter。 "Resolved By":Peter

Microsoft.VSTS.Common.ResolvedBy:Peter
今天修改。 "Changed Date"=@Today
于昨天作为测试活动创建。 "Created Date"=@Today-1 Activity=Test

注意

某些字段(如“历史记录”和“说明”)不支持部分单词文本搜索。 例如,如果“历史记录”字段包含短语 reproducible behavior,则搜索 History:repro 找不到相应的工作项。 但是,如果搜索完整字符串 History:reproducible,则找不到相应的工作项。

使用 @Me 或 @Today 宏

@Me 宏在任何工作项搜索中都会扩展为当前用户的全名。 在创建可与其他用户共享的搜索时,@Me 宏特别有用,并且它可以通过减少为指定自己的用户名而必须键入的字符数来简化你的工作。 有关所有宏的说明,请参阅查询字段、运算符和宏、查询宏或变量


筛选目标

输入以下字符串


当前分配给你

A=@Me


由你创建

C=@Me


于昨天解决

Resolved Date=@Today-1


7 天前修改

System.ChangedDate=@Today-7


昨天在 Phone Saver 团队下创建

Created Date=@Today-1 And Area Path=FabrikamFiber\Phone Saver


使用 Equals、Contains 和 Not 运算符

使用以下搜索运算符来指定搜索条件:

= (EQUALS) 用于搜索文本的完全匹配项。
: (CONTAINS) 用于搜索文本的部分匹配项。
- (NOT) 用于排除包含特定文本的工作项。 “NOT”运算符只能用于字段名称。

以下示例显示如何在创建搜索字符串时使用运算符。

筛选满足以下条件的项: 输入以下字符串:
分配给 Peter 但未激活。 A:Peter -S=Active
其中“活动”字段不是 Development - Activity=Development
解决者:Peter。 "Resolved By":Peter
在标题或说明中包含关键字 triage,未分配给你且未关闭。 triage -A=@me -S=Closed
分配给你的未在标题中包含关键字 bugbash 的活动 bug。 S=Active T=bug A=@Me -Title:bugbash

问题解答

问:搜索框是否支持小于/大于运算符?

答: 不是。 搜索框无法识别比较运算符,例如大于 (>) 或 小于 (<)。 它会将具有这些运算符的查询转换为搜索短语。