Query&Filtering与多字符串多字段查询

Query&Filtering与多字符串多字段查询

        • Query Context & Filter Contxt
        • bool查询
        • bool查询语法
        • 如何解决结构化查询 - "包含而不是相等"的问题
        • 增加count字段,是用bool查询解决
        • Filter Context - 不影响算分
        • Query Context - 影响算分
        • bool嵌套
        • 查询语句的结构,会对相关度算分产生影响
        • 控制字段的boosting

Query Context & Filter Contxt

  • 高级搜索功能 : 支持多项文本输入,针对多个字段进行搜索
  • 搜索引擎一般也提供基于时间,价格等条件的过滤
  • 在Elasticsearch 中,有Query 和 Filter两种不同的Contxt
    • Query Contxt:相关性算分
    • Filter Contxt:不需要算分(Yes or No),可以利用Cache,获得更好的性能

bool查询

  • 一个bool查询,是一个或者多个查询子句的组合
    • 总共包括4种子句。其中2种会影响算分,2种不影响算分
  • 相关性并不只是全文本搜索的专利。也适合于 yes | no 的子句,匹配的子句越多,相关性评分越高。如果多条查询子句被合并为一条复合查询语句,比如bool查询,则每个查询子句计算得分的评分会被合并到总的相关性评分中

bool查询语法

  • 子查询可以任意顺序出现
  • 可以嵌套多个查询
  • 如果你的bool查询中,没有must条件,should中 必须至少满足一条查询
    在这里插入图片描述

如何解决结构化查询 - "包含而不是相等"的问题

  • 解决方案:增加一个 genre count字段进行计数

增加count字段,是用bool查询解决

Filter Context - 不影响算分

Query Context - 影响算分

bool嵌套

在这里插入图片描述

查询语句的结构,会对相关度算分产生影响

  • 同一层级下的竞争字段,具有有相同的权重
  • 通过嵌套bool查询,可以改变对算分的影响

控制字段的boosting

  • Boosting是控制相关度的一种手段
    • 索引,字段,或者查询子条件
  • 参数boost的含义
    • 当 boost > 1 时,打分的相关度相对行提升
    • 当 0 < boost < 1 时,打分的权重相对性降低
    • 当 boost < 0 时,贡献负分

热门文章

暂无图片
编程学习 ·

使用pip离线安装python扩展包依赖模块

简答来说就是从一台有网的主机下载好,放到离线主机上,用pip实现1.查看安装了哪些pip3 freeze网上一般都是pip3 freeze >requirements.txt 这就是查看安装了那些,然后存到文件里面2.就是把安装好的打包了,上面那个文件存的就是要打包的,我们完全可以直接,在里面写好想…
暂无图片
编程学习 ·

RFID标签与我们的生活息息相关

在我们的生活中,很多领域都在使用RFID标签,下面,小编就来给大家介绍一下。1、ETC智能收费把RFID标签安装在车子汽车挡风玻璃上,在高速收费站ETC行车道上的频射无线天线中间的专用型短程通信,利用软件连接网络技术性与金融机构开展后台管理清算解决,进而做到车子根据路桥区…
暂无图片
编程学习 ·

[UML] 类图之间的关系 | 3.泛化关系

[UML] 类图之间的关系 | 3.泛化关系 3.泛化关系泛化(Generalization)关系也就是**继承关系**,用于描述父类与子类之间的关系,父类又称为基类或超类,子类又称为派生类 在UML中,泛化关系用带空心三角形的直线来表示 在代码实现时,使用面向对象的继承机制来实现泛化关系,在J…
暂无图片
编程学习 ·

线程同步

多线程同步 1)为什么需要多线程同步? 一块资源被多个线程同时操作的时候,当没有人任何操作,每个线程不知道什么时候开始执行什么时候结束,所以最终程序的运行结果会跟预想的不同 2)临界资源 临界区 临界资源:同一时刻只能够允许一个线程去访问的资源 临界区:访问临界资…
暂无图片
编程学习 ·

双亲委派模型

原理 双亲委派模式是在Java 1.2后引入的,其工作原理的是,如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加…
暂无图片
编程学习 ·

应用10秒部署、成本降低50% 阿里云serverless容器改写云计算极限

在将应用部署时间从以天计缩短到以小时计后,云计算正进入秒计时代:阿里云推出的最新计算形态Serverless容器服务改写了云计算极限,单实例启动时间为创世界纪录的10秒,1分钟可弹出1000实例,这使按需按秒计费成为现实,在云计算大大降低计算成本的基础上,让总计算成本再次降…
暂无图片
编程学习 ·

一文看懂Chrome浏览器工作原理

转自:https://juejin.im/post/5e182a47e51d453cee48c752本文是笔者对Mario Kosaka写的inside look at modern web browser系列文章的翻译。这里的翻译不是指直译,而是结合个人的理解将作者想表达的意思表达出来,而且会尽量补充一些相关的内容来帮助大家更好地理解。这篇文章…
暂无图片
编程学习 ·

大学的生活给你的现在带来了什么?

《你的大学四年为现在的你提供什么优势了》初入大学的时候,我们每个人心里都存着渴望、好奇,有多少人在报完志愿的那一刻,心中的大学还是那些偶像剧中的样子。收到通知书的我们,都在彼此炫耀,终于走进了大学,可以自己做主的生活,没有家人约束的日子。走进大学的校门,多…
暂无图片
编程学习 ·

直播带货系统开发机遇与挑战并存

如今,直播带货正逐渐取代以往传统的营销方式,各大电商也因此纷纷踏入直播带货系统开发热门,开发出多个功能为一体的直播带货系统。2020年,面临着直播带货的空前盛况,不仅是直播带货系统开发的机遇,同时也是一个挑战。所谓的直播带货,顾名思义,就是商家以及直播通过直播…
暂无图片
编程学习 ·

在 Kudu 中集成 Hive Metastore

在启用 Kudu-HMS 集成之前,要确保 Kudu 和 HMS 现有表的视图一致。这可能需要重命名Kudu表以符合Hive命名约束。在启用与 Hive Metastore 集成之前应升级现有 Kudu 表。准备升级 在升级过程中,Kudu群集仍然可用。Kudu 和 Hive Metastore 中的表可能会更改或重命名。 可以使用…
暂无图片
编程学习 ·

咸鱼软件应用—VMware下安装ubantu

咸鱼软件应用—VMware下安装ubantuubantu简介开源下载地址在VMware虚拟机安装ubantu系统 为了测试固件需要安装Linux系统,后面有测试说明。现在先把ubantu系统装上再说~ubantu简介 ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86、64位和ppc架…
暂无图片
编程学习 ·

13年蓝桥杯javaB组

13年蓝桥杯javaB组1.末世纪的星期天2.马虎的算式3.振兴中华4.黄金分数割5.有理数类6.三部排序7.错误票据 1.末世纪的星期天 曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。 还有人称今后的某个世纪末的12月31日,如果是星期一则会是世界末日 有趣的是,任何一个…
暂无图片
编程学习 ·

Java数据类型

数据类型 Java属于一种强类型语言 什么是强类型语言? 即要求变量的使用需要严格符合规定,要求所有变量都必须先定义后再使用,若不按规定就会报错! Java的数据类型分为两类 基本类型(primitive type) Java语言提供了八种基本类型:六种数字类型(四个整数型,两个浮点型),…
暂无图片
编程学习 ·

『互联网架构』软件架构-软件系统设计(一)

按照正常的互联网玩法,产品经理原型画好进行需求评审,评审完后,需要把需求丢给技术经理,或者技术负责人,进行一整套的概要设计,然后针对概要设计评审,概要评审后进行开发。这次咱们一起说说概要设计的体系结构。了解下套路。软件系统设计软件系统设计在很多人眼里就是写…
暂无图片
编程学习 ·

ElasticSearch 索引设置总结

在使用ES时,我们常见的就是需要生成一个template来定义索引的设置,分词器,Mapping.本文将基于项目经验来总结一些常用的配置。Index设置index.refresh_interval 配置一个刷新时间,将index buffer刷新到os cache的时间间隔,刷新到os cache的数据才可以被索引到,默认是1s.如…
暂无图片
编程学习 ·

自动翻译器2

自动翻译器的qt部分接下来我们要实现qt窗口部分,这里遇到一个很尴尬的事情,qt for python的开发环境要求按照python,但我安装的是Anaconda,使用Jupyter开发,安完了PySide2,Qt找不到这个模块,用Jupyter呢,又提示找不到qt.qpa.plugin,打开环境变量查看os.environ, QT_Q…
暂无图片
编程学习 ·

javaWeb知识点总结[云图智联]

javaWeb知识点JSP概念JSP全称Java Server Page(Java服务端页面),通俗上来讲就是可以编写Java代码的HTML页面。在最早期是没有JSP的,那么后端开发人员想要展示一个网页,就是在Servlet中 拼接html. 于是就有了JSP, 但是JSP不是一门新的技术,他的本质上还是Servlet, 意思是服务…