elasticsearch(一)

倒排索引(又叫反向索引)

生活场景

  1. 背诵诗词
    普通索引是 key->诗歌名称; value -> 诗歌内容
    倒排索引是 key->诗歌内容里面的字 value -> 诗歌内容

索引压缩

索引量暴增:倒排索引一首诗歌或者一篇文章会产生很多倒排索引
索引value可以指向诗歌名,索引key还是指向诗歌内容里面的字。
多首诗可以形成索引矩阵

搜索引擎原理

根据一个内容搜索到要找的文章。
关键都是建立倒排索引。
百度、谷歌搜索基本都是网页爬虫+停顿词过滤等

停顿词

文章中没有意义的词,可以认为是停顿词,不需要建立索引

分词

文章内容 经过停顿词过滤的过程,就是分词。
经过分词之后获取到关键字,对关键字建立倒排索引

搜索引擎的过程

爬取内容 ——> 进行分词 ——> 建立反向索引(倒排索引)

简介

elasticsearch是由lucence基础上改造而来。lucence是一个库,可以建立倒排索引。但是只有懂搜索引擎原理的人才能用的好。elasticsearch对其进行了封装,通过restful api就可以进行操作,使用方便;elasticsearch实现了分布式。

专有名词

索引

此索引不是倒排索引,而是一个存放数据的地方,类似mysql中的一个数据库

类型

用来定义数据结构,类似mysql中的一张表

文档

类似mysql中的一行记录

内容存储

实例:比如一首诗,有诗题、作者、朝代、字数、诗内容等字段,那么首先,我们可以建立一个名叫 Poems 的索引,然后创建一个名叫 Poem 的类型,类型是通过 Mapping 来定义每个字段的类型。

Keyword 类型是不会分词的,直接根据字符串内容建立反向索引,Text 类型在存入 Elasticsearch
的时候,会先分词,然后根据分词后的内容建立反向索引。

Elasticsearch 把操作都封装成了 HTTP 的 API,我们只要给 Elasticsearch 发送 HTTP 请求就行。

比如使用 curl -XPUT ‘http://ip:port/poems’,就能建立一个名为 Poems 的索引,其他操作也是类似的。

你可能感兴趣的:(#,elasticsearch,搜索引擎)