ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Elasticseach 初步

Elasticseach 初步 Elasticsearch 是一个基于Apache Lucene构建的开源、分布式、RESTful 风格的搜索和分析引擎。它能够以极快的速度存储、搜索和分析海量数据是目前最流行的全文搜索引擎之一。核心概念文档Document最基本的信息单元以 JSON 格式存储类似于关系型数据库中的一行记录。索引Index具有相似特征的文档集合类似于关系型数据库中的“表”。节点Node集群中的一个 Elasticsearch 实例。集群Cluster由一个或多个节点组成共同保存数据并提供联合索引和搜索能力。分片Shard索引被水平拆分为多个分片可分布在多个节点上实现水平扩展。副本Replica分片的复制提供高可用性和故障转移能力。主要特性全文搜索基于倒排索引支持复杂的全文检索、模糊查询、高亮显示、相关性排序等。实时分析数据写入后几乎立即可搜索适合日志分析、指标监控等场景。分布式架构天然支持水平扩展可以处理 PB 级数据。RESTful API通过 HTTP 接口操作数据使用 JSON 作为数据交换格式易于集成。高可用性通过副本机制和自动故障转移保证数据安全和服务可用。丰富的聚合功能支持类似 SQL 的聚合分析如分组、统计、直方图等。常见使用场景日志与运维监控经典的ELK StackElasticsearch Logstash Kibana用于集中收集、分析和可视化日志。全文搜索为网站、应用提供强大的搜索功能如电商商品搜索、文档搜索、代码搜索等。指标分析与 APM存储和分析时序指标、应用性能监控数据。安全分析用于 SIEM安全信息和事件管理检测异常行为和威胁。地理空间搜索支持地理位置数据的索引和查询。使用docker-compose.yml搭建 Elasticsearch 和 Kibana 并安装插件 IK 分词器services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.4.1 container_name: elasticsearch environment: - node.namees01 - cluster.namees-docker-cluster - discovery.typesingle-node - ES_JAVA_OPTS-Xms512m -Xmx1g - ELASTIC_PASSWORDMyStrongPassword123! - KIBANA_SYSTEM_PASSWORDMyKibanaPassword123! - xpack.security.enabledtrue - xpack.license.self_generated.typebasic - network.host0.0.0.0 volumes: - es_data:/usr/share/elasticsearch/data - es_plugins:/usr/share/elasticsearch/plugins ports: - 9200:9200 - 9300:9300 networks: - elastic restart: unless-stopped ulimits: memlock: soft: -1 hard: -1 kibana: image: docker.elastic.co/kibana/kibana:8.4.1 container_name: kibana environment: - ELASTICSEARCH_HOSTShttp://elasticsearch:9200 - ELASTICSEARCH_USERNAMEkibana_system - ELASTICSEARCH_PASSWORDMyKibanaPassword123! - SERVER_PUBLIC_BASEURLhttp://localhost:5601 ports: - 5601:5601 networks: - elastic depends_on: - elasticsearch restart: unless-stopped volumes: es_data: driver: local es_plugins: driver: local networks: elastic: driver: bridge使用 docker compose up -d 启动。注意 Elasticsearch 和 Kibana 并安装插件 IK 分词器三者版本保持一致# 1. 进入 ES 容器 docker exec -it elasticsearch bash # 2. 重置 kibana_system 密码交互式输入 ./bin/elasticsearch-reset-password -u kibana_system -i # 按提示输入新密码例如MyKibanaPassword123! # 确认输入后密码即生效 # 3. 退出容器 exit访问虚拟机ip地址加9200端口这是 elasticsearch 地址查看 elasticsearch 插件挂载到的目录上传从github页面下载的IK 分词器插件解压目录如图重新启动访问 Kibana进入 Dev Tools 使用分词器POST /_analyze { text:我是程序员太棒了, analyzer:ik_max_word }最少切分 ik_smart最细切分 ik_max_word
返回列表