【发布时间】:2020-02-22 08:59:43
【问题描述】:
我有兴趣为给定的输入文档获取类似的文档(类似于 KNN)。由于对大小不相似的文档(使用 doc2vec)进行向量化会导致文档向量不一致,然后为用户的输入计算一个向量(可能只是几个术语/句子比较了 doc2vec 模型在哪里训练的文档每个文档将包含 100 或 1000 个单词)尝试查找 k-Nearest Neighbors 会由于缺少特征而产生不正确的结果。
因此,我继续使用 more_like_this 查询,与 kNN 相比,它的工作类似,而与用户输入的大小无关,因为我只对分析文本字段感兴趣。
但是当我在 elasticsearch 中索引数百万个文档时,我担心性能。文档说使用 term_vector 在索引时存储术语向量可以加快分析速度。 但我不明白的是文档在这种情况下指的是哪种类型的术语向量。因为存在三种不同类型的术语向量:术语信息、术语统计和字段统计。 并且术语统计和字段统计计算术语相对于索引中其他文档的频率,当我在索引中引入新文档时,这些向量不会过时。 因此,我假设 more_like_this 文档是指术语信息(这是一个特定文档中的术语信息,与其他文档无关)。
谁能告诉我在索引时仅计算术语信息向量是否足以加速 more_like_this?
【问题讨论】:
标签: elasticsearch bigdata knn morelikethis