搜索项目或文件

要搜索项目和文件,请使用 AEN 导航栏中的搜索框。根据您从哪个页面进行搜索,搜索会提供不同的结果:

  • 在项目主页上,搜索结果包括在当前项目中与您的搜索条件匹配的任何文件。
  • 在任何其他 AEN 页面上,搜索结果包括在所有项目中与您的搜索条件匹配的任何文件。

提示:您的搜索结果仅包括您可以查看的文件和项目:公共项目和您拥有最少查看权限的私人项目。

搜索的文件类型

搜索结果中包含以下类型的文件:

  • .py——Python 源文件。
  • .ipynb——IPython/Jupyter 笔记本。
  • .txt——纯文本文件。
  • .md——降价文件。

搜索索引

在项目运行时修改的文件会在文件修改后不久自动重新索引。如果您创建或更新大量文件(例如克隆 git 存储库或复制目录),搜索结果可能需要几分钟才能更新。

项目未运行时修改的文件只有在项目启动后才会重新建立索引。

使用搜索结构

您可以使用以下搜索结构:

  • 普通词将匹配任何文件的全文内容。

  • 允许使用通配符。

    示例:John*将匹配 John 和 Johnny。这些是 glob 模式,类似于它们在命令行中的用法。

  • 使用AND或组合查询OR,并使用括号将它们分组()

正则表达式模式可以通过将它们包装在正斜杠 ( /) 中来嵌入到查询字符串中:

name:/joh?n(ath[oa]n)/

Elasticsearch 参考中解释了支持的正则表达式语法 。

注意:通配符适用于正则表达式。诸如此类的查询字符串/.*n/会强制搜索访问索引中的每个术语。

搜索元数据字段

您可以在特定的元数据字段中进行搜索:

  • imports:name— 匹配导入模块名称的文件。
  • uses:name— 匹配引用标识符名称的文件。引用名称包括从其他模块导入的任何函数和全局变量,以及在任何对象上调用的任何方法的名称。
  • defines:name— 匹配定义标识符名称的文件。定义的名称包括在全局范围内定义的函数、类名称和类中的方法名称。
  • acl:user— 匹配指定用户具有读取权限或更高权限的文件。

搜索项目

  1. 在搜索框中,输入一串文本:

    ../../../../../_images/aen-user-search_box.png

    提示:通过 glob 模式搜索,类似于命令行中的文件匹配。

    示例:要在测试系列中查找编号从 00 到 99 的项目,请搜索Test-??。要查找名称以“Stats”结尾的所有项目,请搜索*Stats.

  2. 按 Enter。

  3. 在搜索结果中,单击项目名称上方的加号 + 图标以显示所选项目中匹配文件的列表:

    ../../../../../_images/aen-user-search_results_expansion_icon.png

    提示:单击项目名称可打开项目主页。

  4. 要查看文件,请在匹配文件列表中单击其文件名:

    ../../../../../_images/aen-user-search_results_details.png