牛逼轰轰的Elasticsearch如何入门?看这篇就够了

一。ES 扫盲

ES=elasticsearch简写, Elasticsearch是一个开源的易扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

实际项目开发实战中,几乎每个系统都会有一个搜索的功能,当搜索做到一定程度时,维护和扩展起来难度就会慢慢变大,所以很多公司都会把搜索单独独立出一个模块,用ElasticSearch等来实现。

用户方面,目前,github、百度等大公司都在用,你还等什么!

基本概念:

索引(indices)---------Databases 数据库

类型(type)------------Table 数据表

文档(Document)----------Row 行

字段(Field)----------------Columns 列

详细说明:

索引库(indices) indices是index的复数,代表许多的索引,

类型(type) 类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,

其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念

文档(document) 存入索引库原始的数据。比如每一条商品信息,就是一个文档

字段(field) 文档中的属性

映射配置(mappings)字段的数据类型、属性、是否索引、是否存储等特性

二。使用(PHP版)

版本:7.7.1

英文最新PHP客户端文档:

https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/quickstart.html

其他文档:

https://www.elastic.co/guide/cn/elasticsearch/php/current/index.html(跟上面的差不多,但不是最新)

使用步骤

1.安装composer包

环境要求:php: ^7.1

ext-json: >=1.3.7

composer ES官方页面: https://packagist.org/packages/elasticsearch/elasticsearch

composer.json 里加上

{

  "require": {

      "elasticsearch/elasticsearch": "~7.7.0"

  }

}

命令行运行 composer install

或直接运行:

composer require elasticsearch/elasticsearch  '~7.7.0'

note:  sdk版本要跟es版本对应上,官方页面有说明

2.建索引

Note:一般情况,索引会插入第一天数据时自动创建,但是几乎所有字段都是text类型,而索引字段类型一旦建好则不容易动态更改,所以最好自行建索引,规范好每个字段的类型,这关系好查询相关操作能否顺利进行。

引入代码:

use think\Env;

use Elasticsearch\ClientBuilder;

获取客户端实例代码:

$client = ClientBuilder::create()->setHosts(['127.0.0.1'])->build();

建索引代码:

例:

3.封装自己的增删查改函数(以tp5.0框架、demo索引为例)

例:

添加文档

更新文档

删除文档

搜索例子:


单字段搜索


4. es的精华之一是各种各样五花八门的搜索语句,如同安装后输入ip:9200 后,浏览器输出的一句话那样,可以说,无搜索,无Elasticsearch

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352