• Elasticsearch学习之相关度评分TF&IDF


    relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度

    Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法

    Term frequency(TF):搜索文本中的各个词条在field文本中出现了多少次,出现次数越多,就越相关

    Inverse document frequency(IDF):搜索文本中的各个词条在整个索引的所有文档中出现了多少次,出现的次数越多,就越不相关

    示例:

    搜索请求:hello world
    
    doc1:hello, today
    is very good doc2:hi world, how are you
    比如说,在index中有1万条document,hello这个单词在所有的document中,一共出现了1000次;world这个单词在所有的document中,一共出现了100次 doc2更相关

    Field-length norm:field长度,field越长,相关度越弱

    doc1:{ "title": "hello article", "content": "babaaba 1万个单词" }
    doc2:{ "title": "my article", "content": "blablabala 1万个单词,hi world" }
    
    hello world 在整个index中出现的次数是一样多的
    
    doc1 更相关,title field更短

    分析一个document是如何被匹配上的

    GET /test_index/test_type/6/_explain
    {
        "query": {
            "match": {
                "test_field": "test hello"
            }
        }
    }
  • 相关阅读:
    js面试题-----算法类
    js面试题-----安全类
    js面试题-----通信类
    js面试题-----面向对象类
    js面试题-----HTTP协议类
    js面试题-----CSS盒模型
    Java-JVM 类的初始化
    加密的相关基础
    AngularJS-directive.js 基本指令
    AngularJS-liveRoomDirective.js 直播间指令
  • 原文地址:https://www.cnblogs.com/sunfie/p/7078974.html
Copyright © 2020-2023  润新知