gpt4 book ai didi

elasticsearch - 加速elasticsearch more_like_this 查询

转载 作者:行者123 更新时间:2023-12-02 23:12:39 25 4
gpt4 key购买 nike

我有兴趣为给定的输入文档(类似于 KNN)获取类似的文档。由于对大小不相似的文档进行矢量化(使用 doc2vec)会导致文档向量不一致,然后计算用户输入的向量(可能只是几个术语/句子比较了 doc2vec 模型在何处训练的文档)每个文档将包含 100 或 1000 个单词)试图找到 k-最近邻会由于缺乏特征而产生不正确的结果。

因此,我继续使用 more_like_this 查询,与 kNN 相比,它的工作类似,无论用户输入的大小如何,因为我只对分析文本字段感兴趣。

但是当我在 elasticsearch 中索引了数百万个文档时,我担心性能。文档说使用 term_vector 在索引时存储术语向量可以加快分析速度。
但我不明白的是文档在这种情况下指的是哪种类型的术语向量。因为有三种不同类型的术语向量:术语信息、术语统计和字段统计。
术语统计和字段统计计算术语相对于索引中其他文档的频率,当我在索引中引入新文档时,这些向量不会过时。
因此,我认为 more_like_this 文档指的是术语信息(它是一个特定文档中的术语信息,而与其他文档无关)。

谁能告诉我在索引时仅计算术语信息向量是否足以加速 more_like_this?

最佳答案

不用担心term vectors已过时,因为它们是为每个文档存储的,因此它们将分别更新。

对于更多此类,只需拥有 term_vectors:yes 就足够了,您不需要有偏移量和位置。所以,如果你不打算使用高亮,你应该只使用默认的。

因此,对于您的文本字段,您需要有这样的映射,这足以加速 MLT 执行:

{
"mappings": {
"properties": {
"text": {
"type": "text",
"term_vector": "yes"
}
}
}
}

关于elasticsearch - 加速elasticsearch more_like_this 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58568152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com