0%

Elasticsearch入门

  • Elasticsearch简介
    • 一个分布式的,Restful风格的搜索引擎
    • 支持对各种类型的数据的检索
    • 搜索速度快,可以提供实时的搜索服务
    • 便于水平扩展,每秒可以处理PB级海量数据
  • Elasticsearch术语
    • 索引,类型,文档,字段(6.0前对应数据库中:数据库,表,行,列)
    • 集群,节点,分片,副本
    • 6.0后废弃类型,索引对应数据库中的表
    • 集群中每一台服务器称为节点
    • 一个索引可以拆分为多个分片存储,提高并发能力
    • 副本是对分片的备份,一个分片可以包含多个副本,提高可用性

Elasticsearch配置(elasticsearch.yml文件)

  • 集群名:cluster.name
  • 数据存放路径:path.data
  • 日志存放路径:path.logs

安装中文分词插件ik

https://github.com/medcl/elasticsearch-analysis-ik

使用

  • 启动elasticserach
  • 查看健康状况 curl -X GET “localhost:9200/_cat/health?v”
  • 查看节点 curl -X GET “localhost:9200/_cat/nodes?v”
  • 查看索引 curl -X GET “localhost:9200/_cat/indices?v”
  • 创建索引 curl -X PUT “localhost:9200/{索引名}”,返回json格式
  • 删除索引 curl -X DELETE “localhost:9200/{索引名}”
  • 插入数据PUT请求 localhost:9200/{索引名}/{类型}/{id},提交json格式数据
  • 查询数据GET请求
  • 删除数据DELETE请求
  • 搜索数据GET请求
    • 不加条件 localhost:9200/{索引名}/_search
    • 加条件 localhost:9200/{索引名}/_search?q=xxx:yyy
    • 会进行分词
  • 搜索条件复杂,通过json提交请求数据
1
2
3
4
5
6
7
8
{
"query":{
"multi_match":{
"query":"互联网", //搜什么
"fields":["title","content"] //从哪匹配
}
}
}
------ THEEND ------

欢迎关注我的其它发布渠道