摘要: 找出一个属性中的独立单词是没有问题的,但有时候想要精确匹配一系列单词或者短语 。 比如, 我们想执行这样一个查询,仅匹配同时包含 “rock” 和 “climbing” ,并且 二者以短语 “rock climbing” 的形式紧挨着的雇员记录。 为此对 match 查询稍作调整,使用一个叫做 ma 阅读全文
posted @ 2017-12-05 16:18 穷开心y 阅读(2137) 评论(0) 推荐(0) 编辑
摘要: 现在尝试下稍微高级点儿的全文搜索——一项传统数据库确实很难搞定的任务。 搜索下所有喜欢攀岩(rock climbing)的雇员: 显然我们依旧使用之前的 match 查询在about 属性上搜索 “rock climbing” 。得到两个匹配的文档: Elasticsearch 默认按照相关性得分排 阅读全文
posted @ 2017-12-05 16:14 穷开心y 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 聚合提供了分组并统计数据的能力。理解聚合的最简单的方式是将其粗略地等同为SQL的GROUP BY和SQL聚合函数。在Elasticsearch中,你可以在一个响应中同时返回命中的数据和聚合结果。你可以使用简单的API同时运行查询和多个聚合,并以一次返回,这避免了来回的网络通信,这是非常强大和高效的。 阅读全文
posted @ 2017-12-05 15:18 穷开心y 阅读(2855) 评论(1) 推荐(0) 编辑
摘要: Elasticsearch中的所有的查询都会触发相关度得分的计算。对于那些我们不需要相关度得分的场景下,Elasticsearch以过滤器的形式提供了另一种查询功能。过滤器在概念上类似于查询,但是它们有非常快的执行速度,这种快的执行速度主要有以下两个原因 - 过滤器不会计算相关度的得分,所以它们在计 阅读全文
posted @ 2017-12-05 14:58 穷开心y 阅读(1974) 评论(0) 推荐(0) 编辑
摘要: 布尔查询允许我们利用布尔逻辑将较小的查询组合成较大的查询。 1、查询返回包含“mill”和“lane”的所有的账户 在上面的例子中,bool must语句指明了,对于一个文档,所有的查询都必须为真,这个文档才能够匹配成功。 2、查询返回地址中包含“mill”或者“lane”的所有的账户 在上面的例子 阅读全文
posted @ 2017-12-05 14:44 穷开心y 阅读(9323) 评论(0) 推荐(0) 编辑
摘要: 有两种基本的方式来运行搜索:一种是在REST请求的URI中发送搜索参数,另一种是将搜索参数发送到REST请求体中。请求体方法的表达能力更好,并且你可以使用更加可读的JSON格式来定义搜索。下面我们用请求体的方式做介绍: 1、查询全部 2、指定查询返回结果个数 3、指定查询返回结果范围 4、指定查询返 阅读全文
posted @ 2017-12-05 14:34 穷开心y 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1、资源准备 2、导入数据 3、确认是否导入成功,查看索引,并响应 出现如上响应,即说明导入成功。 阅读全文
posted @ 2017-12-05 11:38 穷开心y 阅读(3661) 评论(0) 推荐(0) 编辑
摘要: Elasticsearch提供的批量处理功能,是通过使用_bulk API实现的。这个功能之所以重要,在于它提供了非常高效的机制来尽可能快的完成多个操作,与此同时使用尽可能少的网络往返。 1、批量索引,即批量添加文档 以下调用在一次bulk操作中索引了两个文档(ID 1 - John Doe and 阅读全文
posted @ 2017-12-05 11:28 穷开心y 阅读(2427) 评论(0) 推荐(0) 编辑