首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

一。ES 扫盲

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

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

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

基本概念:

索引(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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200610A0NSUG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券