GitHub Issues 搜索现在支持嵌套查询和布尔运算符:以下是我们(重新)构建它的方法
GitHub Issues 的搜索功能在一月份进行了重大升级。Deborah Digges 提供了一些幕后细节,介绍了它的工作原理和推广方式。
标志性的新功能是复杂的布尔逻辑:您现在可以搜索诸如is:issue state:open author:rileybroughten (type:Bug OR type:Epic)
,嵌套深度最多可达五级。
使用 Ruby parslet PEG 语法库将查询解析为 AST。然后,AST 被编译为嵌套的 Elasticsearch bool
JSON 查询。
GitHub Issues 搜索每秒处理大约 2,000 个查询,因此强大的测试至关重要!团队将其隐蔽地推广到 1% 的实时流量,通过队列运行新的实现,并比较返回的结果数量,试图发现与旧生产代码相比是否存在性能下降。
标签: ops 、 elasticsearch 、扩展、搜索、 github-issues 、 github 、 ruby 、解析
原文: https://simonwillison.net/2025/May/26/github-issues-search/#atom-everything