Solr中More Like This(MLT)与常规选择查询的区别

时间:2018-08-13 19:32:54

标签: select text solr tf-idf

有人可以解释一下Solr中MLT和普通选择查询的确切区别吗?我知道Solr使用TF.IDF的高级形式根据对文本字段的选择查询对文档进行评分,但是使用MLT时评分算法有何不同?

1 个答案:

答案 0 :(得分:1)

我不确定这个问题是否真的有意义-“更多类似”用于查找更多与您已有的相似的文档。这不同于输入查询并想取回某些东西,它们用于解决非常不同的操作模式。

在后台,它们都是“根据输入查找索引中的内容”来查询的,对于MLT来说,这是现有文档中的术语,而不是用户输入的查询。

您可以看到how the MLT query is built in MoreLikeThis.java。如果我正确地阅读了代码,则将使用PriorityQueue来获取所有术语的分数,然后将它们作为增强查询添加到布尔查询中的大量术语中,其中每个术语都应设置为SHOULD。这样一来,根据MLT语义来增强术语,同时在幕后使用ClassicSimilarity。

但是,与常规查询相比,MLT的用例却大不相同。