乐于分享
好东西不私藏

RAG 的第一公里:文档解析决定上限

RAG 的第一公里:文档解析决定上限

👆 点击上方「迷斯特的小宇宙」,加「星标」不错过精彩内容

RAG 的质量问题,很多时候从 PDF 被读成一坨字符串的那一刻就已经开始了。

这两年做 RAG 和 Agent,大家很容易把注意力放在 embedding、向量数据库、rerank、上下文窗口、Agent 框架上。它们都重要,但在真实文档场景里,还有一个更早的环节经常被低估:文档解析。

run-llama/liteparse 这次冲上 GitHub Trending Rust,信号不在于“又多了一个 PDF parser”。它更像是把一个原本藏在后台的环节推到前台:PDF、Office、图片、扫描件这些非结构化输入,能不能被稳定、快速、可追溯地转换成模型可以使用的结构化上下文。

如果解析层做得粗糙,后面的向量库只能检索到粗糙的文本。标题丢了,表格散了,页码没了,引用位置不可回溯,Agent 再会调用工具,也只能在坏输入上做推理。

图 1:RAG 文档解析第一公里

第一公里

RAG 的第一公里,是从原始文件到可检索上下文的那段路。

这段路通常包括几个步骤:文件读取、格式转换、文本抽取、OCR、版面恢复、坐标保留、chunk 切分、metadata 标注。很多系统会把这些步骤压缩成一句“把 PDF 转成文本”,但工程上差别很大。

一个普通 PDF 可能包含原生文字、图片、表格、页眉页脚、脚注、多栏排版、嵌入字体和扫描页。Office 文档还会带来标题层级、批注、表格、分页和导出差异。网页则有导航、广告、正文、动态内容和 DOM 顺序问题。

这些东西在向量库之前就已经决定了三件事:

• 模型到底能看到什么事实;

• 检索时能不能定位到正确片段;

• 用户追问“出处在哪”时,系统能不能回到原文位置。

向量库负责召回,文档解析负责把事实变成可召回的形态。前者解决“去哪找”,后者决定“有没有东西可找”。

LiteParse 的位置

LiteParse 的官方定位很明确:本地运行、开源、无云依赖、无 LLM、无需 API key 的高速文档解析工具。它用 Rust 写核心链路,围绕 PDFium 做文本抽取,配合 Tesseract 或外部 OCR server 做识别,最后输出文本、JSON、bounding boxes 和页面截图。

它不负责把文档“理解”成业务字段,也不靠多模态模型重写整份 PDF。LiteParse 解决的是一个更基础的问题:把文档页面上的文字、位置和页面图像稳定取出来,并尽量保留空间关系。

这点对 Agent 很关键。Agent 经常需要的不止是一段 Markdown,还包括可回溯的位置证据:

• 这句话在第几页;

• 这条数据来自表格哪一行;

• 这个引用能不能高亮到原文区域;

• 用户上传了 200 页 PDF,能不能先快速抽取,再按需截图给视觉模型。

LiteParse 的 textItems、bounding boxes 和 screenshot 能力,正好面向这类工作流。解析结果里有坐标,截图里有页面图像,系统就可以把“文本答案”重新绑定到“页面位置”。这比只给模型一段纯文本更适合做可审计的 RAG。

结构很轻

LiteParse 的核心链路可以简化成四层。

第一层是输入适配。PDF 直接进入解析;DOCX、XLSX、PPTX 和图片会先通过 LibreOffice / ImageMagick 转成 PDF。这样核心逻辑可以集中在 PDF 页面模型上。

第二层是文本抽取。PDFium 负责从 PDF 里取出原生文字和页面结构。对于 born-digital PDF,这条路径通常比纯 OCR 更快,也能少引入识别错误。

第三层是 OCR。默认使用 Tesseract,也可以外接 HTTP OCR server。LiteParse 定义了一个很简单的 OCR API:POST /ocr,上传图片和语言,返回文本、bbox、confidence。团队可以把 EasyOCR、PaddleOCR 或自研 OCR 包成同一接口。

第四层是空间恢复。LiteParse 会把原生文本和 OCR 结果合并,再做 grid projection,输出带版面关系的文本或 JSON。

图 2:LiteParse 解析链路

这套结构的好处是工程边界清楚:解析器不承担所有智能任务,只把“页面上有什么、在哪里”稳定交给后面的 RAG / Agent。复杂理解可以留给后续模型,原始定位信息不要在第一步丢掉。

代码入口

LiteParse 的 CLI 入口很直接:

# 基本文本解析
lit parse document.pdf
# 结构化输出,保留页面和 text items
lit parse document.pdf --format json -o output.json
# 只解析指定页
lit parse document.pdf --target-pages "1-5,10,15-20"
# 生成页面截图,给视觉模型或引用高亮使用
lit screenshot document.pdf -o ./screenshots

在 TypeScript 里,核心用法也很薄:

import { LiteParse } from "@llamaindex/liteparse";
const parser = new LiteParse({ outputFormat: "json", ocrEnabled: true });
const result = await parser.parse("document.pdf");
for (const page of result.pages) {
  for (const item of page.textItems) {
    console.log(`[${item.x}, ${item.y}] ${item.width}×${item.height} ${item.text}`);
  }
}

这段代码的价值集中在 textItems。每个文本项带坐标,后面可以做三件事:

• chunk 时保留页码、区域、标题邻近关系;

• 检索命中后,用坐标回到原文区域;

• 对高风险答案做 visual citation,把引用框画到截图上。

RAG 系统里很多“引用不准”的问题,根源在解析时没有保留可回溯信息。只存一段 Markdown,答案生成以后很难再证明它来自页面的哪个区域。

四条路线

现在文档解析工具很多,容易被写成工具列表。更有用的比较方式,是看它们解决的是哪一层问题。

图 3:文档解析路线对比

工具更适合工程取舍
LiteParse本地快速解析 PDF / Office 转 PDF 后的文档,保留 bbox 和截图复杂扫描件、复杂表格、多栏版面可能需要更强解析器
MarkItDown多格式文件快速转 Markdown,喂给 LLM 或轻量脚本更关注 Markdown 文本,不强调空间坐标和可视化引用
LlamaParse复杂文档、云端生产管线、高质量结构化输出有云服务成本、隐私合规和网络依赖
Unstructured文档 ETL、partition、connectors、批处理 ingest依赖更重,部署和文档类型适配成本更高

MarkItDown 的优势是“把各种文件转成模型爱读的 Markdown”。它适合快速接入 Office、网页、PDF、音频等多种输入,也适合轻量自动化脚本。问题是,Markdown 一旦成为唯一中间表示,空间关系就容易被抹平。

LlamaParse 的优势是复杂文档质量。LiteParse README 也明确提示:dense tables、多栏、图表、手写内容、扫描 PDF 这类场景,用 LlamaParse 会得到更好的结果。这个提示很重要,因为它说明 LiteParse 并不试图覆盖所有解析场景。

Unstructured 更像文档 ETL 框架。它的 partition、connectors、批处理和平台能力适合完整数据管线,但依赖也明显更重。团队要处理大量来源、复杂部署、企业级 ingest 时,它的覆盖面有价值;如果只是在本地 Agent 里解析用户上传的 PDF,可能会显得重。

LiteParse 的位置在中间偏左:本地、快速、轻量、可追溯。它不替代 LlamaParse,也不替代 Unstructured;它给 Agent 和 RAG 提供一个更低成本的解析起点。

为什么是 Rust

LiteParse 用 Rust 写,价值不在趋势标签。

文档解析在 Agent 系统里通常是热路径。用户上传文档以后,系统要尽快给出可检索文本;批量知识库构建时,解析器要跑大量文件;本地 Agent 还会受到 CPU、内存、启动时间和二进制分发的限制。

Rust 在这里的收益比较实际:

• 核心解析链路适合做成跨语言 native binding;

• Node.js、Python、Rust、WASM 可以共享同一套能力;

• 本地 CLI、服务端、浏览器侧都能复用核心逻辑;

• 对长文档和批处理任务,性能与内存更容易控制。

LiteParse 当前提供 Node.js/TypeScript、Python、Rust 和 Browser/WASM 包。这个组合对前端和客户端团队尤其有意思:文档解析不一定只发生在后端,某些隐私敏感或离线场景,可以把 WASM 解析放在浏览器侧;某些桌面端或本地 Agent,可以直接用 CLI 或 native binding。

这会把“文档上传到云端解析”从默认路径改成可选项。

上限在哪里

LiteParse 的边界同样要说清楚。

第一,Office 和图片的多格式支持,本质上依赖转 PDF。LibreOffice 和 ImageMagick 要进入部署环境,容器镜像、沙箱权限、字体、中文渲染都要测试。解析器 API 很轻,不代表部署一定零成本。

第二,Tesseract 是稳定的默认 OCR,但在复杂票据、低清扫描、混合中英文、手写、旋转文字上,不一定是最优解。LiteParse 提供外部 OCR server 接口,意味着团队要为高质量 OCR 自己选型、部署和评估。

第三,bounding boxes 不等于表格理解。坐标能帮助恢复位置和引用,但它不能自动保证表格语义、跨页表格、合并单元格、图表含义都被正确理解。对这些场景,云端复杂解析器或视觉模型仍然有价值。

第四,本地解析不等于合规完成。文件留在本地只是减少一类风险;日志、缓存、临时文件、截图、embedding 存储、权限隔离同样要设计。

这些边界不该被写成 LiteParse 的缺点。它们是文档解析层本来就有的工程现实。好的解析器应该把边界暴露出来,少用“智能解析”四个字把问题盖住。

怎么选

如果要给工程团队一个简单选择,我会这样分:

• 用户上传 PDF,希望本地快速解析、保留坐标、给 Agent 做引用:优先看 LiteParse。

• 多种文件要统一转 Markdown,重视接入速度和脚本体验:优先看 MarkItDown。

• 文档复杂度高,表格、扫描件、图表、多栏版面是主战场:优先看 LlamaParse 或同类云解析。

• 企业知识库 ingest,要接数据源、批处理、partition、平台化管理:优先看 Unstructured。

落地前要做自己的基准测试。LiteParse 仓库里也有 eval utils,可以用 QA pass rate、latency、memory usage 去比较 liteparsepymupdfpypdfmarkitdown。这比看 README 里的形容词可靠。

测试集不要只放干净论文 PDF。至少要覆盖你业务里的几类坏文档:扫描版合同、复杂表格、PPT 导出的 PDF、中文报告、多栏论文、带图片的手册、页眉页脚很多的财报。RAG 的解析质量,应该按你的文档分布来评估。

小结

LiteParse 值得关注,是因为它代表了一类基础工具的回归:RAG / Agent 需要更好的模型,也需要更可靠的输入层。

过去很多 Demo 会把“加载 PDF”写成一行代码,然后把复杂性推给向量库和大模型。生产系统绕不过这一步。文件格式、OCR、布局、引用、权限、缓存、评估,都会在真实数据里冒出来。

文档解析正在从后台工具变成 AI 应用的基础能力。对中大型团队来说,这一层未来可能会像日志、搜索、特征抽取一样,被单独设计、监控和评估。

LiteParse 给出的答案偏工程派:本地、快、可嵌入、保留位置、支持多语言绑定。它不负责把所有文档理解问题一次性解决掉,但它把第一公里修得更清楚。

RAG 的优化不要只盯着向量库。先检查你的解析层:模型看到的文本,是否还能回到原文的位置。

迷斯特的小宇宙,客户端技术背景,大前端技术、AI前沿技术分享,偶尔写写生活日记。

如果这篇文章对你有启发,点个「在看」或转发给朋友,是对我最大的支持 🙏
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-02 08:05:05 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/697152.html
  2. 运行时间 : 0.097349s [ 吞吐率:10.27req/s ] 内存消耗:4,743.70kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=faa35b38e46f7114d7948e3504b0728f
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000605s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000959s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000257s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000272s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000569s ]
  6. SELECT * FROM `set` [ RunTime:0.000202s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000745s ]
  8. SELECT * FROM `article` WHERE `id` = 697152 LIMIT 1 [ RunTime:0.000955s ]
  9. UPDATE `article` SET `lasttime` = 1780358705 WHERE `id` = 697152 [ RunTime:0.007093s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000311s ]
  11. SELECT * FROM `article` WHERE `id` < 697152 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000434s ]
  12. SELECT * FROM `article` WHERE `id` > 697152 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000351s ]
  13. SELECT * FROM `article` WHERE `id` < 697152 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000635s ]
  14. SELECT * FROM `article` WHERE `id` < 697152 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000622s ]
  15. SELECT * FROM `article` WHERE `id` < 697152 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002266s ]
0.098997s