ElasticSearch 2 (16) - 深入搜索系列之近似度匹配 摘要 标准的全文搜索使用TF/IDF处理文档.文档里的每个字段或一袋子词.match 查询可以告诉我们哪个袋子里面包含我们搜索的术语,但这只是故事的一部分.它并不能告诉我们词语之间的关系. 考虑下面句子的区别: Sue ate the alligator. The alligator ate sue. Sue never goes anywhere without her alligator-skin purse. 一个 m…
ElasticSearch 2 (17) - 深入搜索系列之部分匹配 摘要 到目前为止,我们介绍的所有查询都是基于完整术语的,为了匹配,最小的单元为单个术语,我们只能查找反向索引中存在的术语. 但是,如果我们想匹配部分术语而不是全部改怎么办?部分匹配(Partial matching) 允许用户指定查找术语的一部分,然后找出所有包含这部分片段的词. 与我们想象的不一样,需要对术语进行部分匹配的需求在全文搜索引擎的世界并不常见,但是如果读者有SQL方面的背景,可能会在某个时候使用下面的SQL语句对…
ElasticSearch 2 (18) - 深入搜索系列之控制相关度 摘要 处理结构化数据(比如:时间.数字.字符串.枚举)的数据库只需要检查一个文档(或行,在关系数据库)是否与查询匹配. 布尔是/非匹配是全文搜索的基础部分,但不止这些,我们也同样需要知道每个文档与查询的相关度,在全文搜索引擎中我们不仅需要找到匹配的文档,还需要根据他们相关度的高低,对他们进行排序. 全文相关的公式或相似算法(similarity algorithms) 会将多个因素合并起来,为每个文档生成一个相关度分数 *_…
ElasticSearch 2 (13) - 深入搜索系列之结构化搜索 摘要 结构化查询指的是查询那些具有内在结构的数据,比如日期.时间.数字都是结构化的.它们都有精确的格式,我们可以对这些数据进行逻辑操作,比较常见的操作包括比较时间区间,或者获取两个数字间的较大值. 文本也可以是结构化的.比如彩笔可以有红.绿.蓝颜色集合,一个博客可以有关键字标签 分布式 和 搜索 . 电商网站上的商品都有UPC(Universal Product Codes)或者其他需要严格结构化格式的唯一标识. 在结构化查…
ElasticSearch 2 (15) - 深入搜索系列之多字段搜索 摘要 查询很少是简单的一句话匹配(one-clause match)查询.很多时候,我们需要用相同或不同的字符串查询1个或多个字段,也就是说,我们需要对多个查询语句以及他们相关分数(relevance scores)进行有意义的合并. 有时候或许我们正查找一本名为战争与和平(War and Peace)而作者叫Leo Tolstoy的书,或许我们正用"最少匹配"("minimum should match…
ElasticSearch 2 (14) - 深入搜索系列之全文搜索 摘要 在看过结构化搜索之后,我们看看怎样在全文字段中查找相关度最高的文档. 全文搜索两个最重要的方面是: 相关(relevance) 相关是将查询到相关的文档结果进行排名的一种能力,这种相关度可以是根据TF/IDF.地理位置相似性(geolocation).模糊相似,或者其他的一些算法得出. 分析(analysis) 将一个文本块转换为唯一的.规范化的token的过程,目的是为了(a)创建反向索引以及(b)查询反向索引. 当我…
ElasticSearch 2 (37) - 信息聚合系列之内存与延时 摘要 控制内存使用与延时 版本 elasticsearch版本: elasticsearch-2.x 内容 Fielddata 聚合使用一个叫 fielddata 的数据结构(在 Fielddata 里简单介绍).Fielddata 通常是 Elasticsearch 集群中内存消耗最大的一部分,所以理解它的工作方式十分重要. 小贴士 Fielddata 可以随意被加载到内存中,或是索引是创建并存在磁盘上的.稍后我们会在 D…
文档是结合几个博客整理出来的,内容大部分为转载内容.在使用过程中,对一些疑问点进行了整理与解析. Elasticsearch java api 基本搜索部分详解 ElasticSearch 常用的查询过滤语句 一.所使用版本的介绍 使用的是elasticsearch2.4.3版本,在此只是简单介绍搜索部分的api使用 二.简单的搜索 使用api的时候,基本上可以将DSL搜索的所有情况均写出来,在此给出一个最简单搜索的全部的过程以及代码,之后将对不同的搜索只是针对函数进行介绍 (1)DSL搜索 对…
ElasticSearch 2 (38) - 信息聚合系列之结束与思考 摘要 版本 elasticsearch版本: elasticsearch-2.x 内容 本小节涵盖了许多基本理论以及很多深入的技术问题.聚合给 Elasticsearch 带来了难以言喻的强大能力和灵活性.桶与度量的嵌套能力,基数与百分位数的快速估算能力,定位信息中统计异常的能力,所有的这些都在近乎实时的情况下操作的,而且全文搜索是并行的,它们改变了很多组织和企业的游戏规则. 事情通常是一旦我们开始使用它,我们就能找到很多其…
ElasticSearch 2 (36) - 信息聚合系列之显著项 摘要 significant_terms(SigTerms)聚合与其他聚合都不相同.目前为止我们看到的所有聚合在本质上都是简单的数学计算.将不同这些构造块相互组合在一起,我们可以创建复杂的聚合以及数据报表. 版本 elasticsearch版本: elasticsearch-2.x 内容 significant_terms(SigTerms)聚合与其他聚合都不相同.目前为止我们看到的所有聚合在本质上都是简单的数学计算.将不同这些…