主题: search
-
相比 grep -r,ripgrep 的默认过滤规则能缩短智能体的代码搜索过程
假设:使用 ripgrep 默认忽略规则(跳过被 git 忽略的文件、隐藏文件和二进制文件)搜索代码仓库的编码智能体,与使用不带排除规则的 grep -r 的智能体相比,完成每项任务所需的搜索调用次数更少,读取的无关输出也更少,因为构建产物和依赖目录中的命中结果不会出现;本文未报告任何实测数据。
-
在 PostgreSQL 中使用 tsvector 实现全文搜索
PostgreSQL 会借助语言配置,把文本转换成由归一化词位(lexeme)组成的 tsvector,再用 tsquery 进行匹配、用 ts_rank 评分排序,并通过 GIN 索引加速;它开箱即用地处理词干提取和停用词,但不处理拼写错误或同义词。
-
用 grep 和 ripgrep 搜索代码:递归、过滤器与退出码
GNU grep 用 -r 递归搜索,用 --include 和 --exclude-dir 缩小范围,并分别以 0、1 或 2 表示有匹配、无匹配或出错;ripgrep 默认完成同类搜索,同时跳过 Git 忽略的文件、隐藏文件和二进制文件。在相信空结果之前,先了解每种工具会跳过什么。
-
Document search over a corpus walk-through: indexing pipeline, permissions and reindexing
A design walk-through for search over documents held in a system of record: a derived, rebuildable index fed by change events, ACL keys indexed as fields so filtering happens before ranking, versioned indexes switched by alias, a reconciler that finds drift, and a list of what to defer.
-
用于前缀查找的字典树:自动补全与最长前缀匹配
字典树为每个公共前缀保存一个节点,因此查找成本取决于键长,与键数无关;同一前缀的所有键组成一个子树,一次遍历即可找到查询的最长已存储前缀。可用于自动补全和路由,但应先与有序数组比较。
-
将嵌入视为数据类型:固定长度向量、距离函数及向量列的要求
嵌入是由特定模型生成的固定长度浮点向量,只有在使用该模型训练所针对的距离度量、并与同一模型版本的向量放在一起时才有意义。存储时必须记录维度、模型标识符和距离度量;查询则意味着精确或近似的最近邻搜索。
-
LLM 应用的检索基础:分块、段落标识符与引用检索内容
检索增强生成会把检索到的段落提供给模型。关键决策包括如何切分文档、每个块携带什么上下文,以及答案如何指回具体段落,供读者核查。
机器可读: JSON