更像这样的Elasticsearch会返回太多文档

时间:2017-12-30 12:02:13

标签: elasticsearch elasticsearch-5

我有这样的文件:

{
title:'...',
body: '...'
}

我希望获得与特定文档类似的文档超过90%。我使用过这个查询:

query = {
    "query": {
        "more_like_this" : {
            "fields" : ["title", "body"],
            "like" : "body of another document",
            "min_term_freq" : 1,
            "max_query_terms" : 12
        }
    }
}

如何更改此查询以检查与指定文档的90%相似度?

2 个答案:

答案 0 :(得分:0)

查看Query Formation Parameter minimum_should_match

答案 1 :(得分:0)

您应指定minimun_should_match

minimum_should_match

  

形成析取查询后,此参数将控制   必须匹配的术语数量。语法与。相同   最小值应匹配。 (默认为" 30%")。

使用此

进行查询
  

MLT查询只是从输入文档中提取文本,   然后分析它,通常在现场使用相同的分析仪   选择具有最高tf-idf的前K个术语以形成析取   查询这些术语

因此,如果您想提升标题字段,则应增加标题字段,因为标题包含术语频率/反向文档频率中的大多数术语。应该提高结果,因为它具有更多相关性。您可以将标题字段提高1.5。

在more_like_this查询

上参考this文档以获取参考资料