下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 26 | 搜索的相关性算分
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Elasticsearch核心技术与实战

共100讲 · 约1000分钟
16516
免费
01 | 课程介绍
免费
02 | 内容综述及学习建议
免费
03 | Elasticsearch简介及其发...
免费
04 | Elastic Stack家族成员及...
免费
05 | Elasticsearch的安装与...
06 | Kibana的安装与界面快速...
07 | 在Docker容器中运行Elas...
08 | Logstash安装与导入数据
09 | 基本概念:索引、文档和...
10 | 基本概念:节点、集群、分...
11 | 文档的基本CRUD与批量操...
12 | 倒排索引介绍
13 | 通过Analyzer进行分词
14 | Search API概览
15 | URI Search详解
16 | Request Body与Query ...
17 | Query String&Simple ...
18 | Dynamic Mapping和常见...
19 | 显式Mapping设置与常见参...
20 | 多字段特性及Mapping中配...
21 | Index Template和Dynami...
22 | Elasticsearch聚合分析简...
23 | 第一部分总结
24 | 基于词项和基于全文的搜索
25 | 结构化搜索
26 | 搜索的相关性算分
27 | Query&Filtering与多字...
28 | 单字符串多字段查询:Dis...
29 | 单字符串多字段查询:Mult...
30 | 多语言及中文分词与检索
31 | Space Jam,一次全文搜索...
32 | 使用Search Template和In...
33 | 综合排序:Function Scor...
34 | Term&Phrase Suggester
35 | 自动补全与基于上下文的提...
36 | 配置跨集群搜索
37 | 集群分布式模型及选主与脑...
38 | 分片与集群的故障转移
39 | 文档分布式存储
40 | 分片及其生命周期
41 | 剖析分布式查询及相关性算...
42 | 排序及Doc Values&Field...
43 | 分页与遍历:From, Siz...
44 | 处理并发读写操作
45 | Bucket & Metric聚合分...
46 | Pipeline聚合分析
47 | 作用范围与排序
48 | 聚合分析的原理及精准度问...
49 | 对象及Nested对象
50 | 文档的父子关系
51 | Update By Query &...
52 | Ingest Pipeline & Pa...
53 | Elasticsearch数据建模实...
54 | Elasticsearch数据建模最...
55 | 第二部分总结回顾
56 | 集群身份认证与用户鉴权
57 | 集群内部安全通信
58 | 集群与外部间的安全通信
59 | 常见的集群部署方式
60 | Hot & Warm架构与Shard...
61 | 分片设计及管理
62 | 如何对集群进行容量规划
63 | 在私有云上管理Elasticsea...
64 | 在公有云上管理与部署Elas...
65 | 生产环境常用配置与上线清...
66 | 监控Elasticsearch集群
67 | 诊断集群的潜在问题
68 | 解决集群Yellow与Red的问...
69 | 提升集群写性能
70 | 提升进群读性能
71 | 集群压力测试
72 | 段合并优化及注意事项
73 | 缓存及使用Breaker限制内...
74 | 一些运维的相关建议
75 | 使用Shrink与Rollover AP...
76 | 索引全生命周期管理及工具...
77 | Logstash入门及架构介绍
78 | 利用JDBC插件导入数据到El...
79 | Beats介绍
80 | 使用Index Pattern配置数...
81 | 使用Kibana Discover探索...
82 | 基本可视化组件介绍
83 | 构建Dashboard
84 | 用Monitoring和Alerting监...
85 | 用APM进行程序性能监控
86 | 用机器学习实现时序数据的...
87 | 用机器学习实现时序数据的...
88 | 用ELK进行日志管理
89 | 用Canvas做数据演示
90 | 项目需求分析及架构设计
91 | 将电影数据导入Elasticsea...
92 | 搭建你的电影搜索服务
93 | 需求分析及架构设计
94 | 数据Extract & Enrichm...
95 | 构建Insights Dashboard
96 | Elastic认证介绍
97 | 考点梳理
98 | 集群数据备份
99 | 基于Java和Elasticseach构...
100 | 结束语
本节摘要
展开

精选留言(20)

  • 2019-07-23
    老师问下哈,经典的TF-IDF,TF是表示词数除以文档词数,这个TF最大才为1。为什么说TF无限增加时呢,再怎么大也就才1
    4
    2
  • 2019-07-24
    TF词频的定义好像错了,是不是应该是检索词出现的总次数除以文档的总词数?视频中是检索词出现的总次数除以文档的总字数。假设一个文章就1个词“Administrator”,如果按视频中的公式TF就是1/13了
    1
  • 2019-07-16
    老师,我觉得可以出一个查官方文档思路的教程,有很多细节查起来都非常慢

    作者回复: 细节需要自己看。整体不知道如何定位,可以看一下脑图和学习路径。

    在考试认证环节,我会讲一下文档的大题结构分布,现在我去讲这个,很多概念大家不知道,可能会听的比较晕,反而生成更加多的问题。

    1
  • 2019-09-20
    查询算分,分越高越好,这个算分比较复杂,粗略理解就是:log(全部文档数/分词所在文档数),分词文档数越少文档越重要
  • 2019-08-27
    老师 TF 定义还是不太清楚, 比如一个doc, {"title": "alibaba nb", "content": "why alibaba nb? because ma"}, title 有 2 个 term, content 有5 个
    在搜索(title: alibaba } 的时候, TF 是 1 / 2 还是 1 / 7 ???
    2
  • 2019-08-16
    “的”这个词,在tf*idf中本身就会得分很低,根本就不需要通过停用词去掉。

    作者回复: 文档足够多,的的idf应该不会特别高。致于是否加入停用词,作为es得使用者,需要自己做权衡。没有完全的对错之分。

  • 2019-08-08
    老师,这个相关性算分,会随着我扫描的文档的范围而改变吗?我最近遇到一个奇怪的现象,我有一个建好的index库,我用不同的时间范围来过滤的时候,得到的搜索结果有极大的不同,比如说,我搜索2019-07-01 到2019-07-10这个时间范围,给定特定的term,搜索特定字段content(分词器都是预先设定的),并按时间反向排序,此时2019-07-10里的结果集,定义为A,此时,我缩短时间范围,改为2019-07-05 到2019-07-10这个时间范围,此时2019-07-10里的结果集,定义为B。从理论上讲,A和B的结果集应该是完全相同的,但是我实际得到的结果差异很大,有的时候,是A和B的结果集完全不同,A有的B没有,有的时候,是A的结果集和B结果集里排序不同。我完全无法理解这是怎么发生的
    展开

    作者回复: 算分是在filter后结果中进行的,你修改了条件,那就会在不同的文档中进行计算

  • 2019-07-31
    老师,我想问一下,是不是所有的查询默认都是会算分的?只有constant_score就不会算分??感谢,比较困惑

    作者回复: filter content的都不算分,例如 bool查询中的filter和must_not子句

  • 我每次看老师视频先看评论,就是看完评论,在评论里也get到了好多技能,然后在看视频。效果非常好。向顶级码农致敬,感谢老师

    作者回复: 谢谢评论区里很多同学的分享,也为你分享的学习方法点👍

    1
  • 2019-07-26
    问下老师,在上面的搜索elasticsearch示例中,通过执行发现文档2和1 explain显示tf的结果不一样(dl, length of field值结果不一样导致),并没有提到norm(t,d),那这个又该怎么理解呢?
  • 2019-07-25
    老师,请问一个问题:
             如果搜索hello world
             第一条数据为:hello1
             第二条数据为:hello world 666

    这个时候数据展示是第一条还是第二条在最前面?会不会出现第一条数据在最前面,毕竟长度短?
    展开

    作者回复: 如果你搜索hello,应该是第一条。搜索hello world,应该第二条,因为会对每个搜索的term算分做相加

    1
  • 2019-07-24
    老师有相关文献推导bm25的吗,感觉信息检索导论的在定义BIM模型的时候感觉有点模糊,是不是得看英文版
  • 2019-07-20
    请问一下老师demo中最后一个例子是什么意思,有点没太看懂在查询什么, 麻烦老师解释一下.
    POST tmdb/_search
    {
      "_source": ["title","overview"],
      "query":{
        "more_like_this":{
          "fields":[
            "title^10","overview"
            ],
            "like":[{"_id":"14191"}],
            "min_term_freq":1,
            "max_query_terms":12
        }
      }
    }
    展开

    作者回复: 这个应该是后面的一个某节课的例子,被我不小心写进去了。你可以暂时忽略,是关于term vector的

  • 2019-07-20
    请问一下老师最后一个例子中的positive,negative,negative_boost各自的作用是啥, 为什么没有positive_boost呢?
    1
  • 2019-07-18
    老师,那个 idf 算法中出现的log,是数学中的求对数吗?那么log的底是多少呢?
    1
  • 2019-07-18
    感谢老师的回答,可能我对于抽取es dsl 查询语句中所用到的字段那个问题没有讲清楚。
    我现在已经把所有es查询的语句都写入到 另一个es的index中了。
    如下语句,我想得到 这条语句中 用到 Ext_id,News_title,A_title,Safe_level
    主要目的是想对每个index 观察常用的字段,以及不常用的字段。

    {
      "_source": [
        "Ext_id",
        "News_title"
      ],
      "query":{
            "bool":{
                "must":[
                    {
                        "query_string":{
                            "fields":["A_title","News_title"],
                            "query":"\"安踏\" OR (\"安踏\" AND \"做空\")"
                        }
                    }
                ]
            }
        },
        "aggs": {
          "test_agg": {
            "terms": {
              "field": "Safe_level",
              "size": 10
            }
          }
        },
        "size": 200
    }
    展开
  • 2019-07-17
    老师,go和es的整合,也加一点吧
  • 2019-07-17
    老师你好,视频中页面切换能否慢一点?经常是刚说了一个知识点,还没来得及看,就切到下一页了。包括demo也是

    作者回复: 好的,在后续的课程中,我注意一些

    2
  • 2019-07-16
    老师请教一下,如何才能获得一个查询语句中 所用到的字段呢?包括source,filter,agg里的。我是想做一些对使用字段的监控。

    作者回复: option 1.你可以打开es的满查询,实现对满的query 实现监控

    option 2: 你可以在你的application中去把相应的语句打到log文件中,然后用filebeat导入es实现查询

    option 3: 你可以通过开发插件的方式实现
    public class SearchRequestActionFilter extends ActionFilter.Simple {

    我建议优先考虑 option 1 和 option 2


    3

    1
  • 2019-07-16
    老师你好,我们业务中需要把一篇文章所有词根据tf-idf值排序。搜了很多内容,没我找到。 老师给个方向吧

    作者回复: 你去查一下termvectors的api文档

    1