帆的博客

扬帆起航

倒排索引

如何使文本被搜索到是搜索引擎很重要的一部分,倒排索引是很适合搜索的。

因为它的结构:

  1. 包含这个关键词的document list
  2. 包含这个关键词的所有document的数量:IDFinverse document frequency.
  3. 这个关键词在每个document中出现的次数:TFterm frequency.
阅读全文 »

此为龙果学院课程学习笔记,记录以后翻看

索引管理

手动创建索引

之前都是直接插入document,ES为我们自动创建索引。其实在大部分情况下,我们是需要自己先手动创建mapping的,就像数据库建表一样,你可能需要设置primary shard的数量,字段的分词器,具体的数据类型等等。

阅读全文 »

此为龙果学院课程学习笔记,记录以后翻看

前面讲了简单的搜索、分词和映射,这篇文章讲ES的搜索API

search API

Search API的基本语法:

这是一个空查询,空查询将返回所有索引库(indices)中的所有文档:

1
2
GET /_search
{}
阅读全文 »

此为龙果学院课程学习笔记,记录以后翻看

前面讲了Document的增删改查和集群原理,接下来就是ES的重头戏了,搜索。

_search结果解析

当发出一个搜索请求的时候,会拿到很多结果,下面说一下搜索结果里的各种数据,都代表了什么含义。

阅读全文 »

此为龙果学院课程学习笔记,记录以后翻看

Document元数据

_index元数据

  1. 代表一个document存放在哪个index中。
  2. 类似的数据放在一个索引,非类似的数据放不同索引:product index(包含了所有的商品),sales index(包含了所有的商品销售数据),inventory index(包含了所有库存相关的数据)。如果你把比如product,sales,human resource(employee),全都放在一个大的index里面,比如company index,就不合适。
阅读全文 »

此为龙果学院课程学习笔记,记录以后翻看

ES基础分布式架构

Elasticsearch对复杂分布式机制的透明隐藏特性

Elasticsearch是一套分布式的系统,分布式就是为了应对大数据量。它隐藏了复杂的分布式机制,其中有几个很重要的机制和概念。

  • 分片机制(之前将一些document插入到es集群中去,不用关心数据怎么进行分片的,数据到哪个shard中去,这是ES自动完成的)
阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

缓存雪崩

缓存雪崩这种场景,缓存架构中非常重要的一个环节,应对缓存雪崩的解决方案,避免缓存雪崩的时候,造成整个系统崩溃,带来巨大的经济损失

阅读全文 »

此为龙果学院课程学习笔记,记录以后翻看

监控

为什么需要监控与报警?

HystrixCommand执行的时候,会生成一些执行耗时等方面的统计信息。这些信息对于系统的运维来说,是很有帮助的,因为我们通过这些统计信息可以看到整个系统是怎么运行的。hystrix对每个command key都会提供一份metric,而且是秒级统计粒度的。

阅读全文 »
0%