当前位置: 首页 > news >正文

数字广东网络建设有限公司地址/seo网络推广知识

数字广东网络建设有限公司地址,seo网络推广知识,凡客诚品羽绒服,外贸网站建设网站开发1. 过滤 1.1 term 过滤 term 主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经分析的文本数据类型): 1.2 terms 过滤 terms 跟 term 有点类似,但 terms 允许指定多个匹配条件。 如果某…

1. 过滤

1.1 term 过滤

term 主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经分析的文本数据类型):
在这里插入图片描述

1.2 terms 过滤

terms 跟 term 有点类似,但 terms 允许指定多个匹配条件。 如果某个字段指定了多个值,那么文档需要一起去做匹配:
在这里插入图片描述

1.3 range 过滤

range 过滤允许我们按照指定范围查找一批数据:
在这里插入图片描述
在这里插入图片描述

1.4 exists 和 missing 过滤

exists 和 missing 过滤可以用于查找文档中是否包含指定字段或没有某个字段,类似于SQL语句中的 IS_NULL 条件

{				"exists":{"field":"title"			} 
}

这两个过滤只是针对已经查出一批数据来,但是想区分出某个字段是否存在的时候使用。

1.5 bool 过滤

bool 过滤可以用来合并多个过滤条件查询结果的布尔逻辑,它包含以下操作符:

  • must :多个查询条件的完全匹配,相当于 and 。
  • must_not :多个查询条件的相反匹配,相当于 not 。
  • should :至少有一个查询条件匹配, 相当于 or 。

在这里插入图片描述

2. 查询

2.1 match_all 查询

使用 match_all 可以查询到所有文档,是没有查询条件下的默认语句。
在这里插入图片描述
此查询常用于合并过滤条件。 比如说你需要检索所有的邮箱,所有的文档相关性都是相同的,所以得到的 _score 为1

2.2 match 查询

match 查询是一个标准查询,不管你需要全文本查询还是精确查询基本上都要用到它。
如果你使用 match 查询一个全文本字段,它会在真正查询之前用分析器先分析。
match 以下查询字符:
在这里插入图片描述
如果用 match 下指定了一个确切值,在遇到数字,日期,布尔值或者 not_analyzed 的字符串时,它将为你搜索你给定的值:

在这里插入图片描述

提示: 做精确匹配搜索时,你最好用过滤语句,因为过滤语句可以缓存数据

match 查询不可以用建议搜索,类似"+usid:2 +tweet:search"这样的语句。 它只能就指定 某个确切字段某个确切的值进行搜索

2.3 multi_match 查询

multi_match 查询允许你做 match 查询的基础上同时搜索多个字段:
在这里插入图片描述

2.4 bool 查询

bool 查询与 bool 过滤相似,用于合并多个查询子句。不同的是, bool 过滤可以直接给出是否匹配成功, 而 bool 查询 要计算每一个查询子句的 _score (相关性分值)。

  • must : 查询指定文档一定要被包含。
  • must_not : 查询指定文档一定不要被包含。
  • should :查询指定文档,有则可以为文档相关性加分。

以下查询将会找到 title 字段中包含 “how to make millions”,并且 “tag” 字段没有被标为 spam 。 如果有标识为 “starred” 或者发布日期为2014年之前,那么这些匹配的文档将比同类网站等级高:
在这里插入图片描述

提示: 如果 bool 查询下没有 must 子句,那至少应该有一个 should 子句。但是 如果有 must 子句,那么没 有 should 子句也可以进行查询

3. 查询与过滤条件的合并

查询语句和过滤语句可以放在各自的上下文中。 在 ElasticSearch API 中我们会看到许多带有 query 或 filter 的语句。 这些语句既可以包含单条 query 语句,也可以包含一条 filter 子句。 换句话说,这些语句需要首先创建一 个 query 或 filter 的上下文关系。

复合查询语句可以加入其他查询子句,复合过滤语句也可以加入其他过滤子句。 通常情况下,一条查询语句需要过滤语句的 辅助,全文本搜索除外。

所以说,查询语句可以包含过滤子句,反之亦然。 以便于我们切换 query 或 filter 的上下文。这就要求我们在读懂需求的同 时构造正确有效的语句。

3.1 带过滤的查询语句

查询语句:
在这里插入图片描述
过滤语句:
在这里插入图片描述
search API中只能包含 query 语句,所以我们需要用 filtered 来同时包含 “query” 和 “filter” 子句:
在这里插入图片描述
我们在外层再加入 query 的上下文关系:
在这里插入图片描述

3.1.1 单条过滤语句

在 query 上下文中,如果你只需要一条过滤语句,比如在匹配全部邮件的时候,你可以 省略 query 子句:
在这里插入图片描述
如果一条查询语句没有指定查询范围,那么它默认使用 match_all 查询,所以上面语句 的完整形式如下:
在这里插入图片描述

3.2 带查询的过滤语句

有时候,你需要在 filter 的上下文中使用一个 query 子句。下面的语句就是一条带有查询功能 的过滤语句, 这条语句可以过 滤掉看起来像垃圾邮件的文档:

在这里插入图片描述

提示: 我们很少用到的过滤语句中包含查询,保留这种用法只是为了语法的完整性。 只有在过滤中用到全文本匹配的 时候才会使用这种结构

4. 验证查询

查询语句可以变得非常复杂,特别是与不同的分析器和字段映射相结合后,就会有些难度。

validate API 可以验证一条查询语句是否合法。
在这里插入图片描述
以上请求的返回值告诉我们这条语句是非法的:

在这里插入图片描述

4.1 理解错误信息

想知道语句非法的具体错误信息,需要加上 explain 参数:

在这里插入图片描述
很显然,我们把 query 语句的 match 与字段名位置弄反了:
在这里插入图片描述

4.2 理解查询语句

如果是合法语句的话,使用 explain 参数可以返回一个带有查询语句的可阅读描述, 可以帮助了解查询语句在ES中是如何 执行的:
在这里插入图片描述
explanation 会为每一个索引返回一段描述,因为每个索引会有不同的映射关系和分析器:
在这里插入图片描述
从返回的 explanation 你会看到 match 是如何为查询字符串 “really powerful” 进行查询的, 首先,它被拆分成两个独立 的词分别在 tweet 字段中进行查询。

而且,在索引 us 中这两个词为 “really” 和 “powerful” ,在索引 gb 中被拆分成 “really” 和 “power” 。 这是因为我们在索 引 gb 中使用了 english 分析器。

http://www.lbrq.cn/news/1360999.html

相关文章:

  • 网站首屏/哪个推广网站好
  • 网站开发吃香吗/百度网址
  • 重庆市公司网站备案在哪了/网站首页快速收录
  • 深圳网站设计在哪济南兴田德润联系电话/今天最新新闻
  • 做网站开发需要什么技能/seo相关岗位
  • 太原手手工网站建设公司/网络优化培训要多少钱
  • 网站之家查询域名/怎样在百度上发布广告
  • 河源网站优化/sem是什么职位
  • 网站建设项目公司/自媒体账号申请
  • 有哪些网站可以做赌博游戏/独立网站和平台网站
  • 分类信息网站做推广/百度搜索风云榜
  • 广州网站建设 app 小程序/it培训班学出来有用吗
  • 线上推广团队/温州seo排名公司
  • 旅游网站制作/北京seo学校
  • 浙江省建设厅新网站人员无法查询/磁力搜索
  • 二手书网站建设报告/合川网站建设
  • 二级a做爰片免费视网站/网站推广线上推广
  • 单位内部网站建设/建立网站的几个步骤
  • 湖南外贸网站建设/百度信息流怎么做效果好
  • 临沂网站制作企业/爱站网关键词工具
  • 深圳网站模板建站/读书网站排名
  • 百度网站关键字/宁波优化关键词首页排名
  • 一级a做爰片免费网站孕交视频教程/中国十大网站排名
  • 南宁在百度上建网站/百度网站收录入口
  • 广州大型网站建设公司/网站优化外包费用
  • b2b网站推广方法/小学生简短小新闻摘抄
  • 软件培训手册/北京seo外包 靠谱
  • 网站无icp备案/哈尔滨网站优化流程
  • 教师招聘网站长城建设集团/网站开发公司排行榜
  • 做微商推广有哪些好的分类信息网站/线上推广方式有哪些
  • PyCharm代码规范与代码格式化插件安装与使用:pylint和autopep8
  • HCIE-Datacom题库_07_设备【道题】
  • JavaWeb学习------SpringCloud入门
  • 动态置信度调优实战:YOLOv11多目标追踪精度跃迁方案(附完整代码)
  • 本地环境vue与springboot联调
  • 语义分割--deeplabV3+