ElasticSearch02

  • 1.DSL查询分类:
  • 2.match和multi_match的区别是什么?
  • 3.精确查询常见的有哪些?
  • 4.相关性算法。
  • 5.seo ,根据算法的规则,去优化自己网站的名字等。让搜索往前。
  • 6.function score query定义的三要素是什么?
  • 7.bool查询有几种逻辑关系?
  • 8.需要注意的是,搜索时,参与**打分的字段越多,查询的性能也越差**。
  • 9.报错看reason里面的
  • 10.elasticsearch支持对搜索结果排序:
  • 11.按地图搜索:不需要分数,需要按sort直线距离排序。
  • 12.深度分页问题:
  • 13.针对深度分页,ES提供了两种解决方案:
  • 14.分页查询的常见实现方案以及优缺点:
  • 15.搜索关键字高亮:是通过给关键字加一些前缀后缀标签,在通过css来实现的.
  • 16.搜all想设置高亮,得设置一下。
  • 17.< em >标签是啥。
  • 18.idea快捷键:ctrl+alt+m:抽取方法。
  • 19.谷歌浏览器不能上传传地理位置。
  • 20.前后端数据如何传递???怎么定义返回类型和接收类型。
  • 21.matchQuery这个查询和term查询有什么区别
  • 22.两个条件排序冲突怎么办???

1.DSL查询分类:

Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括:

  • 查询所有:查询出所有数据,一般测试用。例如:match_all。默认展示前十条。
  • 全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如:
    • match_query
    • multi_match_query
  • 精确查询:根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。例如:
    • ids
    • term
    • range
  • 地理(geo)查询:根据经纬度查询。例如:
    • geo_distance
    • geo_bounding_box
  • 复合(compound)查询:复合查询可以将上述各种查询条件组合起来,合并查询条件。例如:
    • bool
    • function_score

match分词查询,term精准匹配,range范围查询

2.match和multi_match的区别是什么?

其他字段都利用copy_to复制到了all字段中,字段搜索效果是一样的

  • match:根据一个字段查询,all在创建的时候就建立好索引了,搜索效率高。
  • multi_match:根据多个字段查询,参与查询字段越多,查询性能越差

3.精确查询常见的有哪些?

  • term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段
  • range查询:根据数值范围查询,可以是数值、日期的范围

注意:term:不会分词,你写什么就搜什么。

geo查询:km单位必须小写,不然识别不了。

4.相关性算法。

elasticsearch会根据词条和文档的相关度做打分,算法由两种:

  • TF-IDF算法(分差比较大,不利于商业竞价排名)
  • BM25算法,elasticsearch5.1版本后采用的算法

5.seo ,根据算法的规则,去优化自己网站的名字等。让搜索往前。

6.function score query定义的三要素是什么?

  • 过滤条件:哪些文档要加分
  • 算分函数:如何计算function score
  • 加权方式:function score 与 query score如何运算

7.bool查询有几种逻辑关系?

  • must:必须匹配的条件,可以理解为“与”
  • should:选择性匹配的条件,可以理解为“或”
  • must_not:必须不匹配的条件,不参与打分
  • filter:必须匹配的条件,不参与打分

注意:

must,用于关键字查询,会算分,效率低

filter其他过滤条件,不会算分,不太影响效率。

8.需要注意的是,搜索时,参与打分的字段越多,查询的性能也越差

因此这种多条件查询时,建议这样做:

  • 搜索框的关键字搜索,是全文检索查询,使用must查询,参与算分
  • 其它过滤条件,采用filter查询。不参与算分

9.报错看reason里面的

10.elasticsearch支持对搜索结果排序:

默认是根据相关度算分(_score)来排序。

可以排序字段类型有:keyword类型、数值类型、地理坐标类型、日期类型等。

注意:只有不能被分词的字段才能排序。

11.按地图搜索:不需要分数,需要按sort直线距离排序。

12.深度分页问题:

elasticsearch 默认情况下只返回top10的数据。

如果要查很多数据,分页会把前面所有的数据查出来,再进行截取。很消耗内存。

13.针对深度分页,ES提供了两种解决方案:

  • search after:分页时需要排序,原理是从上一次的排序值开始,查询下一页数据。官方推荐使用的方式。
  • scroll:原理将排序后的文档id形成快照,保存在内存。官方已经不推荐使用。

注意:search after不可以返回上一页,查询指针方法,手机端可以用。

14.分页查询的常见实现方案以及优缺点:

  • from + size

    • 优点:支持随机翻页
    • 缺点:深度分页问题,默认查询上限(from + size)是10000
    • 场景:百度、京东、谷歌、淘宝这样的随机翻页搜索
  • after search

    • 优点:没有查询上限(单次查询的size不超过10000)
    • 缺点:只能向后逐页查询,不支持随机翻页
    • 场景:没有随机翻页需求的搜索,例如手机向下滚动翻页
  • scroll

    • 优点:没有查询上限(单次查询的size不超过10000)
    • 缺点:会有额外内存消耗,并且搜索结果是非实时的
    • 场景:海量数据的获取和迁移。从ES7.1开始不推荐,建议用 after search方案。

15.搜索关键字高亮:是通过给关键字加一些前缀后缀标签,在通过css来实现的.

注意:

  • 高亮是对关键字高亮,因此搜索条件必须带有关键字,而不能是范围这样的查询。
  • 默认情况下,高亮的字段,必须与搜索指定的字段一致,否则无法高亮
  • 取出来的结果加高亮,存储的数据不会被改动。

16.搜all想设置高亮,得设置一下。

# 查询字段跟高亮字段不一致
GET /hotel/_search
{"query": {"match": {"all": "如家"}},"highlight": {"fields": {"name": {"pre_tags": "<em>","post_tags": "</em>","require_field_match": "false"}}}
}

17.< em >标签是啥。

  • < em >表示一般的强调文本,这个标签具有语义。该标签中的内容在搜索引擎中更受重视,一些语音阅读器也会根据它在阅读时加强语气。

18.idea快捷键:ctrl+alt+m:抽取方法。

19.谷歌浏览器不能上传传地理位置。

20.前后端数据如何传递???怎么定义返回类型和接收类型。

21.matchQuery这个查询和term查询有什么区别

term是keyword类型

分词的用matchQuery

22.两个条件排序冲突怎么办???

比如距离和价格,如何排序。

(ElasticSearch02)day80分布式查漏补缺相关推荐

  1. 前端面试查漏补缺--(十) 前端鉴权

    前言 本系列最开始是为了自己面试准备的.后来发现整理越来越多,差不多有十二万字符,最后决定还是分享出来给大家. 为了分享整理出来,花费了自己大量的时间,起码是只自己用的三倍时间.如果喜欢的话,欢迎收藏 ...

  2. Java 面试知识大全总结:程序员面试的必备,想拿offer来查漏补缺

    如果你参加了很多公司的面试,但都没有拿到心目中理想的offer,又或者拿到offer的概率特别低,原因很简单,你可能在技术知识点上有漏洞. Java面试,是对技术知识栈的梳理.考核.复盘 每一次Jav ...

  3. 算法岗面经整理!查漏补缺

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:阿毛冲冲冲,来源:NewBeeNLP(牛客网) 写在前面 三月面试 ...

  4. 前端面试查漏补缺--(一) 防抖和节流

    前言 本系列最开始是为了自己面试准备的.后来发现整理越来越多,差不多有十二万字符,最后决定还是分享出来给大家. 为了分享整理出来,花费了自己大量的时间,起码是只自己用的三倍时间.如果喜欢的话,欢迎收藏 ...

  5. 计算机三级网络技术查漏补缺

    计算机三级网络技术查漏补缺 DHCP(Dynamic Host Configuration Protocol) DMZ(demilitarized zone) 可信计算机评估准则 VLAN 集线器工作 ...

  6. 2019/5/12 查漏补缺

    目录 2019/5/12 查漏补缺 数据类型分为两大类:基本类型和引用类型: java中类的继承关系 关于接口 重载和重写 静态变量 java中的关键字和保留字 数据库操作 实现数据库收回部分权限的操 ...

  7. Android系统开发和性能优化——查漏补缺【建议收藏】

    做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...

  8. 无效字符 java_Java知识查漏补缺

    Java基础知识查漏补缺 单元测试中,Mock对象的存在破坏了面向对象中的封装 mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行. java的封装性:指的是将对象的 ...

  9. Mysql查漏补缺笔记

    目录 查漏补缺笔记2019/05/19 文件格式后缀 丢失修改,脏读,不可重复读 超键,候选键,主键 构S(Stmcture)/完整性I(Integrity)/数据操纵M(Malippulation) ...

最新文章

  1. cenos 下的一些常用命令及技巧收集篇
  2. 【unity】与Android Activity交互并调用JAVA代码传递参数
  3. tensorflow是python自带的吗_python-Tensorflow-没有名为’_pywrap_tensorflow_int...
  4. 【python教程入门学习】两道关于递归的练习题
  5. 去掉thinktime查看响应时间的方法
  6. cmos和ttl_【转】CMOS与TTL电路的区别
  7. 使用esp8266制作wifi干扰器
  8. android捕获全局异常,并对异常做出处理
  9. SAP Client Copy
  10. FFMpeg视频格式讲解
  11. 如何判断等保测评机构有资质?符合要求?
  12. 《墨菲定律》——决策中的学问
  13. Apsara Clouder云计算专项技能认证:云服务器ECS入门[考试真题]
  14. 【软件测试】软考-2022软件评测师考试心得
  15. Day2-go搭载vscode出现的问题
  16. 游戏精细化营销不靠买量 获客也能踩着夏天的西瓜皮直线上升!
  17. 计算机的存储器体系结构,计算机体系结构设计 第05章 存储器体系结构设计.pptx...
  18. sqlite多行插入_在SQLite中插入多行
  19. 一周内咸鱼疯转2.4W次,最终被所有大厂封杀
  20. 英伟达凭借GPU与AI笑傲本届CES展会

热门文章

  1. 论文 | 导航 | 2022年亚利桑那州立大学硕士论文《图神经网络与优势Actor-Critic强化学习算法用于多智能体导航》
  2. ubuntu命令行 播放音乐
  3. 14.刚体组件Rigidbody
  4. 成都房地产市场火爆,房价走势之数据分析
  5. 电弧故障断路器全国产化电子元件推荐方案
  6. 08_python_练习题——乘法表
  7. 从 Git 提交中删除文件
  8. 丁鹿学堂:前端http面试总结,状态码详解
  9. 一些软件黑盒测试工具列表
  10. eNSP配置静态路由实例