下载APP
关闭
讲堂
前端训练营
极客商城
客户端下载
兑换中心
企业版
渠道合作
推荐作者

提示信息

字幕
    倍速
      清晰度
        音轨

          Elasticsearch核心技术与实战

          视频课程 约1000分钟
           写留言

          精选留言(22)

          • 旺旺 置顶
            2019-07-03
            //范围查询 ,区间写法 / 数学写法
            GET /movies/_search?q=title:beautiful&year:[1980 & 2018}
            {
                "profile":"true"
            }
            这个执行不了,应该是
            GET /movies/_search?q=title:beautiful year:[1980 & 2018}
            {
                "profile":"true"
            }
            也即是中间的&应该是个半角空格。指定多个查询字段条件时,各个字段之间用空格隔开。
            展开

            作者回复: 嗯 ,谢谢你指出的错误。

            我在github上改了。我写的不对。 应该是 TO 不是&

            另外,} 在kibana中也会导致dev tool出错。

            3
          • QQ怪
            2019-07-03
            老师,有一个地方讲错了吧,最后一个查找美丽心灵%2B应该是必须包含mind吧,我看其他4条结果只包含mind
            展开
            2
            4
          • 张丽娜
            2019-07-07
            麻烦老师解释下,%2B的意思吧。这个课堂上讲的好像有问题
            展开
            2
            2
          • QQ怪
            2019-07-03
            官方文档给的太简介了,还好有老师总结,不然都不知道怎么看
            展开
            2
          • 正在欣赏
            2019-07-03
            GET /movies/_search?q=title:beautiful&year:[1980 & 2018}
            {
                "profile":"true"
            }
            第一行的结尾的 } kibana开发工具不认,编码成%7D也不认。没有运行的按钮。
            展开

            作者回复: 嗯,看我的留言。我的query写的不对。
            }也会导致kibana有错

            2
            2
          • 党玚
            2019-07-13
            老师:
                  在这个基本查询中"GET /movies/_search?q=2012&df=title&sort=year:desc&from=0&size=10&timeout=1s", "q=2012"是针对特定的字段查询吗?还是只要有"2012"匹配到就查询出来?
            我试着操作了GET /movies/_search?q=2018这个,把包含years和id为2018的都匹配出来了。谢谢。
            展开

            作者回复: 直接写q,如果你有指定df,就到df指定的默认字段上查找,不指定df,默认到所有字段上查找。你也可以写year:2012到year字段上查找

            1
          • zj
            2019-07-10
            "description" : "(title.keyword:2012 | id.keyword:2012 | year:[2012 TO 2012] | genre:2012 | @version:2012 | @version.keyword:2012 | id:2012 | genre.keyword:2012 | title:2012)"

            老师这个title.keyword中的keyword是指的什么
            展开

            作者回复: es会把text文本默认加上keyword的子字段。同时这个类型会设置成 keyword。
            查询时,需要用 字段名.keyword查询

            1
          • onebird
            2019-07-04
            这节课的README.md 存在一个错误。
            https://github.com/onebirdrocks/geektime-ELK

            这句查询写的有问题,应该从
            GET /movies/_search?q=title:beautiful&year:[2002 & 2018]
            修改为
            GET /movies/_search?q=title:beautiful AND year:[2002 TO 2018]
            {
            "profile":"true"
            }

            区间方式,不应该使用 & 而是应该使用 TO。另外,"}"在kibana中会导致DEV TOOL的执行按钮消失。而使用"]"不存在这个问题。"}"应该是lucene query所支持的语法
            大家可以直接在浏览器输入(测试}的效果),应该没有问题
            http://localhost:9200/movies/_search?q=title:beautiful AND year:[2002 TO 2018}
            在我看来,这应该是kibana的dev console的一个bug
            展开

            作者回复: 需要做URI转移,在kibana中,需要用%7D 替换}

            1
          • wangdexing
            2019-07-18
            # 查找美丽心灵, Mind为泛查询
            GET /movies/_search?q=title:Beautiful Mind
            {
                "profile":"true"
            }
            "description" : """title:beautiful (title.keyword:Mind | id.keyword:Mind | MatchNoDocsQuery("failed [year] query, caused by number_format_exception:[For input string: "Mind"]") | genre:mind | @version:mind | @version.keyword:Mind | id:mind | genre.keyword:Mind | title:mind)"""
            为什么Mind为 泛查询? 我理解是应该是 title包含Beautiful或者Mind 会被命中 跟其他字段没有关系吧。
            展开
          • nkulpj
            2019-07-16
            老师公司现在有这样小demo:
            索引A有字段A1、A2、 An
            索引B有字段B1、B2、Bn
            前台输入一个内容要只要A1 A2 B2字段里匹配到就返回这条文档!
            1:es怎么和springboot整合(网上教程多基于5核6对7没有太多参考价值)
            2:多索引和多字段怎么联合查询
            3:怎么得到所有命中的条数,好在前台现实
            展开
          • Wing
            2019-07-15
            咨询老师一个问题。
            查看GET /movies/
            返回的mapping里面的结果,title和year是平级的,为什么在search之后,显示的结果。year在source里面,而title和source平级。望予以解惑,谢谢。
            1
          • Wing
            2019-07-15
            咨询一下老师,我这里导入了movies,但是测试查询的时候发现这个错误。
            GET /movies/_search?q=title:beautiful&year:2012
            返回
             "reason": "request [/movies/_search] contains unrecognized parameter: [year:2012]"
            但是source里有以下内容
            "_source" : {
                      "@version" : "1",
                      "id" : "4995",
                      "year" : 2001,
                      "genre" : [
                        "Drama",
                        "Romance"
                      ],
                      "title" : "Beautiful Mind, A"
            请问,这个是什么原因导致的,如何整改,多谢!
            展开
          • Menng
            2019-07-11
            老师,本节课所使用的movie索引数据从哪里来的?
            我从课件demo ,评论区,以及kibana里面都没找到
            展开

            作者回复: 在logstash中那节中有讲解。测试数据的导入

          • leaning_人生
            2019-07-10
            希望老师能开个课程讲解下es性能调优,以及es查询和更新语句执行的原理,这样读者能够根据原理进行提升,谢谢
            展开
          • Every 🔥
            2019-07-09
            老师,提个小建议,能将您课上的ppt文档也同时上传上来吗(如果极客上传不了的话,可以上传到每课github的demo课程中)?我想这样的话方便大家做笔记,会有更深刻的印象,谢谢。
            展开

            作者回复: 你好,你可以进入github的part-1 上面有完整的第一部分ppt。

            https://github.com/onebirdrocks/geektime-ELK

          • gongxt
            2019-07-08
            GET /movies/_search?q=title:beautifl~1
            {
                "profile":"true"
            }
            GET /movies/_search?q=title:"Lord Rings"~2
            {
                "profile":"true"
            }
            老师,根据您的回答:
            ~1: 代表可以允许一个字母不一样
            ~2: 为什么这个的执行结果是两个单词呢?
            展开

            作者回复: 第一个没有引号

            第二哥是引号扩起来的

          • Alec
            2019-07-06
            老师您好,
            课件里面写 "Beautiful Mind" 等效于 Beautiful AND Mind,意思是 q=title:"Beautiful Mind" 与 q=title:(Beautiful AND Mind) 搜索的结果完全一致吗?

            可是,
            第一个作为 PhraseQuery 查询的时关键词作为一个整体作为查询,因此 Beautiful 以及 Mind 必须同时出现且次序一致同时中间不允许有其他词出现。

            而第二个作为分组查询,只是要求有 Beautiful 以及 Mind 同时出现,还要求次序一致以及中间不允许有其他词出现吗?

            如果两者结果一致的话,若我希望的搜索结果是同时有 Beautiful、Mind 两个单次,但是不要求次序时,应该如何查询才正确?
            展开

            作者回复: (Beautiful AND Mind)时 Beautiful 和 Mind都需要出现,并且不考虑先后顺序

            1
          • 肖裕 ٩ ۶
            2019-07-06
            Get 请求里面也可以加入Body的参数么?
            展开

            作者回复: 可以的,虽然看起来比较不寻常

          • 未成年
            2019-07-05
            老师您好,最近正好有在用es,自己看了点文档。有个疑惑,es中有用正则去查询,但是看了这期,觉得大多数查询完全可以不用正则,就可以达到目的,那是在什么样的情况下才使用正则查询呢?

            作者回复: 1.正则查询属于term查询
            2. Match query 会先分词,再查询

            想象一下,你索引一个文档,字段内容是 hello world,那么就会分成 hello 和world,当你搜索 hello和world,用term或者match就可以和。但是如果你不知道 hello这个具体的term,这种情况下,你就可以使用正则匹配了。

            2
          • 撒旦的堕落
            2019-07-05
            老师 在讲解这些查询的时候 能不能配一些查询相当于sql的什么样查询 我感觉这样会更容易理解一些
            展开

            作者回复: 嗯,其实ES也有提供sql的查询接口,有必要的话,我们也可以专门开一节课讲一下