博客
关于我
狂神说ElasitcSearch笔记(一)
阅读量:106 次
发布时间:2019-02-26

本文共 1610 字,大约阅读时间需要 5 分钟。

Elasticsearch入门与实践指南

Elasticsearch简介

Elasticsearch是一款开源的全文检索引擎,基于Lucene技术面向文档存储和搜索。它不仅支持全文搜索,还能处理结构化数据,常用于日志分析、实时监控和数据可视化等场景。

核心概念解析

Elasticsearch的核心概念包括集群、节点、索引、类型、文档、分片和映射。其中:

  • 索引(Index)相当于数据库,包含多个文档。
  • 类型(Type)定义文档的结构,支持动态映射。
  • 文档(Document)是存储单位,基于JSON格式。
  • 分片(Shard)是物理存储单位,由主分片和副本组成。
  • 映射(Mapping)定义字段的类型和结构。

Elasticsearch安装

环境要求

  • JDK 1.8及以上版本
  • 确保Java环境变量正确配置

版本对应

Elasticsearch版本与相关Java核心jar包版本需匹配,确保兼容性。

安装步骤

  • 下载Elasticsearch

    • 解压即可使用。
  • 配置文件结构

    • bin/ 启动脚本
    • config/ 配置文件
    • jvm.options Java配置
    • elasticsearch.yml 默认配置
  • 启动服务-访问默认端口9200,确认安装成功。

  • 可视化界面安装

    Head插件

    安装Head插件解决跨域问题:

    npm installnpm run start

    修改elasticsearch.yml

    http.cors.enable: truehttp.cors.allow-origin: "*"

    启动后访问5601端口。

    IK分词器配置

    分词器安装

    解压IK分词器到plugins目录,重启Elasticsearch。

    测试分词器

    使用ik_smartik_max_word算法测试:

    GET _analyze {    "analyzer": "ik_smart",    "text": "我爱狂神说"}
    GET _analyze {    "analyzer": "ik_max_word",    "text": "我爱狂神说"}

    自定义分词

    IKAnalyzer.cfg.xml中添加字典,重启服务。

    索引与文档操作

    创建索引

    使用PUT命令创建索引:

    PUT /test1/_mapping{    "properties": {        "name": {            "type": "text"        },        "age": {            "type": "long"        }    }}

    文档操作

    • 创建文档
      PUT /test1/_doc/1{    "name": "小狂神",    "age": 20}
    • 查询数据
      GET /test1/_search{    "query": {        "match": {            "name": "小狂神"        }    }}
    • 排序与分页
      GET /test1/_search{    "query": {        "match": {            "name": "小狂神"        }    },    "sort": [        {            "age": {                "order": "asc"            }        }    ],    "from": 0,    "size": 10}

    开发工具

    • Postman 测试API
    • Kibana 数据可视化

    注意事项

    • 确保Elasticsearch与Kibana版本一致。
    • 解压时间较长,耐心等待。
    • 索引操作需谨慎,避免数据丢失。

    通过以上步骤,用户可以顺利安装和使用Elasticsearch进行数据存储和检索操作。

    转载地址:http://jdsz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现拓扑排序算法(附完整源码)
    查看>>
    Objective-C实现拦截输入法(附完整源码)
    查看>>
    Objective-C实现括号匹配(附完整源码)
    查看>>
    Objective-C实现拷贝二进制文件(附完整源码)
    查看>>
    Objective-C实现指定内存空间获取时间的函数(附完整源码)
    查看>>
    Objective-C实现指定点 x 处计算多项式 f(x) 并返回值算法(附完整源码)
    查看>>
    Objective-C实现按位倒序(附完整源码)
    查看>>
    Objective-C实现按位的isPowerOfTwo算法(附完整源码)
    查看>>
    Objective-C实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码)
    查看>>
    Objective-C实现排队叫号系统(附完整源码)
    查看>>
    Objective-C实现控制NRP8S功率计读取功率 (附完整源码)
    查看>>
    Objective-C实现控制程控电源2306读取电流 (附完整源码)
    查看>>
    Objective-C实现摄氏温度和华氏温度互转(附完整源码)
    查看>>
    Objective-C实现播放器(附完整源码)
    查看>>
    Objective-C实现操作MySQL(附完整源码)
    查看>>
    Objective-C实现操作注册表 (附完整源码)
    查看>>
    Objective-C实现攀登 n 级楼梯的不同方式算法(附完整源码)
    查看>>
    Objective-C实现改变图片亮度算法(附完整源码)
    查看>>
    Objective-C实现数乘以二multiplyByTwo算法(附完整源码)
    查看>>
    Objective-C实现数列的和(附完整源码)
    查看>>