当前位置:首页>java>【前沿代码】什么你的TF-IDF和别人的结果不一样?你真的懂TF-IDF吗?

【前沿代码】什么你的TF-IDF和别人的结果不一样?你真的懂TF-IDF吗?

  • 2026-01-29 18:15:11
【前沿代码】什么你的TF-IDF和别人的结果不一样?你真的懂TF-IDF吗?
在这里输入文本

在使用TF-IDF方法时,你是否遇到过这样的问题:

  • • 用 TF-IDF 提取关键词,结果全是“发展 / 中国 / 建设”
  • • 别人的结果却能抓住“核污染”“新三样”“踔厉奋发”这样的年度热词
  • • 同样是 TF-IDF,换个人、换个库,排序就完全变了

这并不是谁算错了。

结论先给出:你选择的 TF-IDF 实现方式,可能并不适合你的应用场景。TF-IDF 并不是一个“唯一算法”,而是一类加权策略的统称。不同实现对 TF、IDF、归一化的处理方式不同,语义也随之发生变化。

下面我们通过一个真实例子来说明这一点。


一个现实场景:三年人民日报语料

我们选取 2021–2023 年人民日报语料,每一年作为一篇“文档”,目标是:

为每一年提取最能代表该年度特征的关键词。

我们希望得到“年度主题词”,而不是“全年高频词”。

接下来,我们用三种方式计算 TF-IDF:

  1. 1. 手动实现(教科书版 TF-IDF)
  2. 2. Gensim 的 TfidfModel
  3. 3. scikit-learn 的 TfidfVectorizer

接我们先来看看这两年的词频(隐去敏感词汇):

可以看出,依靠词频,我们几乎分不出这两年的新闻。
接下来看看TF-IDF如何大显神通。

一、手动实现:经典 TF-IDF

公式完全遵循教材定义:

当一个词在所有年份都出现时:

于是:

  • • “中国”“发展”“建设”等词
  • • 在三年中全部出现
  • • 权重全部变为 0

核心代码

# 计算文档频率doc_freq = Counter(word for words_dict in news_df["word_counts"] for word in words_dict)# 预计算IDFdocs_num = len(news_df)idfs = {word: np.log(docs_num / freq) for word, freq in doc_freq.items()}def calculate_tf_idf(words_dict):    """计算TF-IDF"""    total = sum(words_dict.values())    return {word: (count / total) * idfs[word] for word, count in words_dict.items()}news_df["normal_tf_idf"] = news_df["word_counts"].apply(calculate_tf_idf)

得到的 Top 词是:

这些词具有一个共同特征:

它们在当年频繁出现,但在其他年份极少出现。

这正是经典 TF-IDF 想表达的语义:

“区分度”优先于“出现频率”。

优点:

  • • 数学语义清晰
  • • 非常适合“对比文档差异”“提取时代特征”
  • • 在小语料下依然保持强区分能力

缺点:

  • • 大量词权重为 0
  • • 无归一化,难以直接进入向量空间模型
  • • 更偏研究范式而非工程范式

二、Gensim:信息检索范式的 TF-IDF

Gensim 基于 BoW 表示:

[(term_id, tf), ...]

TF-IDF 计算遵循经典公式:

其中:

  • •  表示术语  在文档  中的出现频率;
  • •  是语料库中总文档数;
  • •  表示包含术语  的文档数量。

Gensim 提供了高度可定制化的加权接口,允许用户通过参数调整来精细控制 TF 和 IDF 的计算逻辑:

  • • 局部权重(wlocal):默认使用恒等函数(identity),即直接采用词频计数;也可以设置为其他函数,如对数变换  或自定义函数。
  • • 全局权重(wglobal):默认使用标准 IDF (df2idf),但支持更复杂的变体,例如概率 IDF 或熵权重。
  • • 归一化(normalize):默认启用 L2 归一化(cosine normalization,即平方和为1),也可通过设置 normalize=None 禁用归一化,或者使用自定义归一化函数。

此外,Gensim 还支持偏移长度归一化(pivot document length normalization),通过引入参考文档长度 $L_0$ 和斜率 $slope$ 参数,可以有效缓解长文档因词汇量大而造成的权重偏差问题。这一特性特别适合处理文档长度差异较大的数据集。

核心代码

# 1. 分词处理texts = news_df["word_split"].tolist()# 2. 构建词典和词袋模型dictionary = corpora.Dictionary(texts)corpus_bow = [dictionary.doc2bow(text) for text in texts]  # 每个文档的(词ID, 词频)列表# 3. 训练TF-IDF模型并计算向量tfidf_model = models.TfidfModel(corpus_bow)corpus_tfidf = tfidf_model[corpus_bow]# 4. 定义转换函数:仅保留TF-IDF值def extract_tfidf(doc_idx):    """将gensim计算的TF-IDF结果转换为{词: TF-IDF值}格式"""    tfidf_dict = {}    # 遍历当前文档的TF-IDF结果    for word_id, tfidf_score in corpus_tfidf[doc_idx]:        word = dictionary[word_id]  # 词ID转词语        tfidf_dict[word] = tfidf_score  # 仅存储TF-IDF值    return tfidf_dict# 5. 应用函数,将结果存入DataFrame的'tfidf'列news_df["gensim_tfidf"] = [extract_tfidf(i) for i in range(len(news_df))]news_df

Gensim 得到的 Top 词与手动实现高度一致:

说明:

  • • Gensim 在“语义层面”仍然遵循经典 TF-IDF,
  • • 只是把结果包装成适合向量空间计算的形式。

适用场景:

  • • 主题建模
  • • 相似度检索
  • • 大规模语料、动态语料
  • • 希望保留“信息检索意义上的 TF-IDF 语义”

三、scikit-learn:工程化的 TF-IDF

在绝大多数科研与工业代码中,TF-IDF 通常直接来自:

TfidfVectorizer()

这个方法。

其公式依然为词频×逆文档频率,但均有一下细小区别:

1. 词频(Term Frequency, TF)

TF 描述术语 ( t ) 在文档 ( d ) 中的出现强度。默认采用“自然计数”(natural frequency),即原始词频:

若设置 sublinear_tf=True,则启用对数缩放:

这种非线性变换可以削弱极高频词对结果的支配作用,使模型对极端词频更加鲁棒。


2. 逆文档频率(Inverse Document Frequency, IDF)

IDF 衡量术语 ( t ) 在整个语料中的“稀有程度”,其计算受 smooth_idf 参数控制。

  • • 当 smooth_idf=False(非默认)时:

其中,( n ) 为文档总数,( df(t) ) 为包含术语 ( t ) 的文档数。末尾的 +1 保证即便某词出现在所有文档中(( df(t)=n )),其 IDF 仍不小于 1,而不会被完全抹去。

  • • 当 smooth_idf=True(默认)时:

分子与分母同时加 1,相当于引入一个“虚拟文档”包含所有术语,从而避免 ( df(t)=0 ) 导致的除零问题,并提升在小规模或高度稀疏语料上的数值稳定性。


3. 归一化(Normalization)

默认采用 L2 归一化,使不同长度的文档在向量空间中具有可比性。可通过参数控制:

  • • norm='l2':L2 归一化(平方之和为 1)
  • • norm='l1':L1 归一化(绝对值之和为 1)
  • • norm=None:不做归一化

需要特别注意两点:

  1. 1. 分子与分母都进行 +1 平滑
  2. 2. 最终再 +1,使得 IDF 的最小值始终为 1

这意味着:

  • • 即使某个词出现在所有文档中;
  • • 它的 IDF 也不会降为 0;
  • • “中国 / 发展 / 建设” 这类高频公共词,依然保有非零、可观的权重。

这正体现了 scikit-learn 中 TF-IDF 的“工程化取舍”:在理论纯粹性与数值稳定性、实际可用性之间,优先保证模型在真实语料上的鲁棒与一致表现。

核心代码

# 导入必要的库import pandas as pdfrom sklearn.feature_extraction.text import TfidfVectorizer# 初始化TF-IDF向量器,重点展示关键参数tfidf_vectorizer = TfidfVectorizer(    # IDF计算相关参数    smooth_idf=True,  # 平滑IDF,避免除零除    use_idf=True,  # 启用IDF计算(默认True)    # 归一化参数    norm="l2",  # 归一化方式:l2(默认)、l1或None    sublinear_tf=False,  # 是否应用亚线性TF缩放(log1p(tf)))# 拟合模型并转换文本(计算TF-IDF矩阵)tfidf_matrix = tfidf_vectorizer.fit_transform(news_df["processed_text"])# 获取特征词列表(词汇表)feature_names = tfidf_vectorizer.get_feature_names_out()# 定义函数:将TF-IDF矩阵转换为{词: TF-IDF值}字典def get_tfidf_dict(row_idx):    """获取指定行的TF-IDF字典"""    # 获取非零元素的索引和分数    row = tfidf_matrix[row_idx]    non_zero_indices = row.indices    scores = row.data    # 构建词与分数的映射    tfidf_dict = {        feature_names[idx]: score for idx, score in zip(non_zero_indices, scores)    }    return tfidf_dict# 将结果存储到news_df的'tfidf'列news_df["sklearn_tfidf"] = [get_tfidf_dict(i) for i in range(len(news_df))]news_df

sklearn 的 Top 词变成:

可以看到,这和之前的词频统计结果几乎没有差异。这已经不再是“年度特征词”,而更像是“年度高频词”。

原因不在于用错了库,而在于:

sklearn 的 TF-IDF 是为“机器学习特征工程”设计的,不是为“文档差异分析”设计的。

它的目标是:

  • • 数值稳定
  • • 向量可比较
  • • 不因极端情况(如 df=N)导致权重坍塌

代价是:

  • • 稀有词的区分能力被压缩
  • • 在小语料场景中退化为“带归一化的词频”

四、应用场景简析

目标
推荐方案
教学 / 理论分析
手动实现
提取“文档差异”“时代特征”
手动实现 / Gensim
主题建模 / 相似度检索
Gensim
大文本文本分类 / 聚类 / ML 管道
scikit-learn
小语料 + 关键词抽取
避免 sklearn 默认配置

核心不是“哪个更好”,而是:

你要的是“统计意义上的区分度”,还是“工程意义上的稳定向量表示”。

当你发现 TF-IDF “筛不出真正代表文档的词”时,问题往往不在算法本身,而在于:

你选用的那一种 TF-IDF,并不匹配你的研究目标。

Reading List

往期推荐

顶刊JAR:使用ChatGPT测度上市公司招聘信息含量!

NBER:特朗普平时都看哪些经济学顶刊?

顶刊MS:为何我们总爱在新的一年立Flag?

NBER:中国王朝更替,为何名门望族总能重回巅峰?

顶刊综述:生成式AI如何重塑金融学术研究?

顶刊SMJ:专利技术独特性的双面效应!护城河 or 孤岛?

顶刊MS:资本市场压力如何扼杀高质量创新?

顶刊JEBO:长得越好看越不爱打游戏?

顶刊JAR:CEO童年家乡的绿地越大公司越环保?

顶刊WD:明清时代的气候灾害如何影响现代创业精神?

顶刊JEBO:高考坐在窗边更容易考上一本?

顶刊CAR:微调FinBert模型识别审计报告隐含风险!

顶刊JDE:不是不还你钱,是雾霾吸多了记性不好!

顶刊JEBO:《感动中国》播出后真的感动了中国!

顶刊RP:突破性专利 vs. 颠覆性专利,一文讲透!

顶刊JAR:财务造假的爸妈生出了财务造假的高管!

顶刊SMJ:中国贪官落马倒逼关联企业创新?

JBR:领导配偶打呼噜会削弱整个团队的创造力?

《中国工业经济》:自动工具变量法(AutoIV)是什么?

顶刊RAS:使用大语言模型准确识别同行公司的新方法!

顶刊ISR:社交机器人能促进社交吗?——对微博评论罗伯特的研究

顶刊JF:高管读MBA真的有用吗?

顶刊RAS:签名大小衡量CFO自恋水平,越大越自恋?

顶刊JF:从脸上看出压力?机器学习识别CEO面部年龄!

顶刊SMJ:UTD期刊对如何使用大语言模型进行数据标注的指南与警告!

顶刊JAR:微调新冠Bert,预测文本“软硬”?

顶刊JEBO:脸宽的CEO更爱环保?

顶刊EJ:中国大力反腐能阻拦官二代进入官场吗?

最新文章

随机文章

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