elasticsearch
文章平均质量分 70
2B铅笔水果橡皮
这个作者很懒,什么都没留下…
展开
-
elasticsearch数组类型建立索引的一种应用场景
elasticsearch有各种core-type,另外还有各种复杂结构,比如呢身体原创 2014-09-16 10:16:03 · 8899 阅读 · 0 评论 -
elasticsearch的store属性跟_source字段
众所周知_source字段存储的是索引的原始内容,那store属性的设置是为何呢?es为什么要把store的默认取值设置为no?设置为yes是否是重复的存储呢?我们将一个field的值写入es中,要么是想在这个field上执行search操作(不知道具体的id),要么执行retrieve操作(根据id来检索)。但是,如果不显式的将该field的store属性设置为yes,同时_source原创 2014-12-07 10:09:08 · 5890 阅读 · 2 评论 -
elasticsearch关于index性能优化
如果是在一个index-heavy的环境下,也许可以考虑牺牲部分查询的性能来满足index性能的提升,这种情形下,多半查询是非常稀少的,可以容忍结果返回的合理延时。这种特殊的应用场景,有一些措施可以用来提升index的性能。1:科学的性能测试导致性能低下可能有许多原因,定位影响最大的因素。(1)一个node,一个shard,没有replicas,进行性能测试。(2)全部用defau原创 2014-12-08 22:00:05 · 8346 阅读 · 0 评论 -
elasticsearch之mapping field
Mapping定义了文档是如何被处理并存储在搜索引擎中的,包括可搜索的特点,比如哪些字段是可以被搜索的,字段是否被处理过,如何处理的等方面。es中,可以把文档分在不同的mapping type下。允许多个mapping的定义关联到一个mapping type。显式的mapping可以定义在index级别或者是type级别。默认情况下,是不需要一个显式的mapping定义的,因为当一个新的typ翻译 2014-12-03 14:46:23 · 3138 阅读 · 0 评论 -
elasticsearch之sorting and relevance
默认情况下,es中的返回结果是根据relevance排序的,相关性最强的结果在最前边。接下来我们会介绍相关性是什么意思,是如何计算的?但是,我们先把焦点放在sort这个参数上,看看如何使用1:sorting为了能按照相关性排序,我们需要用一个数值来代表相关性。在es中,_score字段就是表示相关性的数字,用浮点类型表示,默认情况系按照_score的降序排列。有些情况下,我们并没有一个翻译 2015-01-20 16:56:34 · 1186 阅读 · 0 评论 -
elasticsearch之life inside a cluster
选择性的翻译一些个人感觉比较重要的东西。es集群中的机器是如何发现别的机器的呢?通过cluster.name这个配置项。这让我联想到“脑裂”现象。是的,在网络分化的时候,es集群也会发生脑裂现象。当然es有关于recovery的一些配置来防止这种现象的发生。master节点只是管理一些集群级别的变化,比如增加/删除索引,增加/删除节点等。对于文档级别的操作(查询/更新)根本不涉及,所以不必翻译 2015-01-22 17:01:47 · 631 阅读 · 0 评论 -
elasticsearch分页的实现方式
对于搜索命中的结果,分页浏览是一项基本的需求。在es内部,分页有两种实现方式。1:通过设置查询参数from和sizesize:返回结果的数量。from:从哪一条结果返回。比如,返回前三页,没一页10条记录,可以用下边的命令表示:GET /_search?size=10GET /_search?size=10&from=10GET /_search?size=10&fro原创 2015-04-28 13:35:29 · 8173 阅读 · 0 评论 -
fielddata那些事
fielddata主要应用在以下几个场景:1:指定字段的sort操作2:指定字段的aggr操作3:特定的filter,比如geo4:涉及到指定字段的脚本操作为何需要fielddata?当我们对指定字段进行排序的时候,我们需要访问符合指定查询的所有doc中这个field的值。倒排索引的结构非常适合搜索的应用场景,但是对于sort操作确实非常不擅长。搜索需要在term和doc之原创 2015-06-26 10:32:29 · 969 阅读 · 0 评论 -
elasticsearch的autocomplete
对于搜索引擎来说,在键入搜索关键词的过程中进行自动提词是个重要的功能,es对此也提供了支持。这个功能是不是有点类似于prefixquery呢,看上去是的。但是,prefixquery是否会符合条件的doc,而自动提词是返回符合条件的term。所以二者不能混为一谈。因此suggestion模块出现了。我们聚焦下complete。原创 2015-07-31 16:57:00 · 2159 阅读 · 0 评论 -
elasticsearch之shard内部
shard是什么?它是如何工作的?这一章节我们将回答以下问题:为什么search是准实时的?为什么文档的CURD操作是实时的?ES如何确保changes是持久话的的,即使断电也不会丢失?为什么删除文档并不立刻释放存储空间?refresh,flush,optimize api是做什么的?什么时候应该使用?1:making text searchable传统的databas翻译 2015-01-04 10:14:58 · 2576 阅读 · 0 评论 -
elasticsearch之mapping types
document中每一个field的数据类型可以通过types来设置。1:主类型每一个json field都可以对应到一个特定的主类型,json本身就提供了很多类型。string/byte/short/integer/long/float/double/boolean/binary/date/null。以上数据类型跟通常的数据类型一样,没什么特殊性。下边介绍一些特有的:toke原创 2014-12-09 14:57:59 · 3549 阅读 · 0 评论 -
elasticsearch之index模块
Index模块用来创建索引并管理与翻译 2014-11-21 14:28:23 · 3460 阅读 · 0 评论 -
elasticsearch之modeling your data(not flat)--handing relationships
跟sql相比,es是另一个不同的世界。它带来翻译 2014-11-11 14:51:48 · 969 阅读 · 0 评论 -
elasticsearch之modeling your data(not flat)--nested objects
我们常会有这样的应用场景:把跟某一个实体相关的实体存储在翻译 2014-11-13 10:06:55 · 696 阅读 · 0 评论 -
elasticsearch之modeling your data(not flat)--Parent-child relationship
parent-child relationship跟nested objects在本质上是相似的,都是尸翻译 2014-11-15 20:44:55 · 1379 阅读 · 0 评论 -
elasticsearch之modeling your data -- design for scale
elasticsearch每天处理pb级别的数据,易于扩翻译 2014-11-19 14:01:54 · 1043 阅读 · 1 评论 -
elasticsearch-不停服务修改mapping
一个常见的问题是:当数据模型需要修改schema的时候,需要重建索引。如果索引很大,这个需要较长时间,因此要暂停服务,这对应用程序来说是无法接受的。有没有不停服务直接修改mappoing的方法呢?可以有。1:问题--为什么不能修改mapping?你只能找到你在索引中存储的信息。为了使数据可查询,就需要知道每一个field包含的数据的数据类型以及它是如何索引的。如果你将一个field的数据类翻译 2014-11-26 11:06:59 · 7620 阅读 · 0 评论 -
elasticsearch索引文档-attachment
对不同类型的文档,pdf xml等内容进行索引是一个常用的功能,es对此提供了支持。翻译 2014-10-29 09:39:47 · 4557 阅读 · 2 评论 -
elasticsearch对double的query_string搜索问题
querystring是强大的搜索方式,支持lucence语法。其默认搜索字段是_all。现在秒原创 2014-09-24 17:19:40 · 1889 阅读 · 0 评论 -
elasticsearch-查询基础篇
elasticsearch的查询有两部分组成:quer原创 2014-08-31 15:39:18 · 2868 阅读 · 0 评论 -
elasticsearch聚合--内存控制篇
elasticsearch除了提供检索功能之外,还能做更多的事情,比如近实时的数据分析。对此elasticsearch提供了聚合aggregation模块,这比之前的facet模块更加强大。具体提供的聚合类型本文不再介绍,而是重点关注aggr模块中关于内存控制的一些事情。1:Fielddataaggr大量使用fielddata,fielddata也是es中的内存大户。众所周知,倒排原创 2015-09-08 13:47:03 · 2359 阅读 · 0 评论