elasticsearch、opensearch、solr安装

最后发布时间 : 2025-11-27 17:27:13 浏览量 :

elasticsearch

docker run --rm  \
  --name elasticsearch \
  -p 9200:9200 \
  -p 9300:9300 \
  -e discovery.type=single-node \
  -e xpack.security.enabled=false \
  -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
  -v /opt/llm/elasticsearch:/usr/share/elasticsearch/data \
  docker.elastic.co/elasticsearch/elasticsearch:8.15.2

http://192.168.3.63:9200/

docker run --rm  \
  --name kibana \
  -p 5601:5601 \
  -e ELASTICSEARCH_HOSTS=http://192.168.3.63:9200 \
  docker.elastic.co/kibana/kibana:8.15.2

http://192.168.3.63:5601/

solr

docker run --rm -p 8983:8983 -t solr

http://192.168.3.63:8983/

opensearch

docker run   --rm  \
  --name opensearch-node \
  --network opensearch-net \
  -p 9200:9200 -p 9600:9600  \
  -e "discovery.type=single-node" \
  -e "DISABLE_SECURITY_PLUGIN=true" \
   -e OPENSEARCH_INITIAL_ADMIN_PASSWORD=Zs.123456789 \
  opensearchproject/opensearch:3
docker run -d --rm \
  --name opensearch-dashboards \
   --network opensearch-net \
  -p 5601:5601 \
  -e OPENSEARCH_HOSTS="http://opensearch-node:9200" \
  opensearchproject/opensearch-dashboards:latest

elasticsearch 基本概念

下面给你一个简明、系统、易理解的 Elasticsearch 基本概念总结,便于快速入门:

🟦 核心概念

1. Document(文档)

  • Elasticsearch 的最小数据单元
  • JSON 格式,例如:
{
"title": "Elasticsearch Guide",
"content": "Introduction to Elasticsearch",
"tags": ["search", "es"]
}

2. Index(索引)

  • 类似数据库中的表
  • 存储多个文档
  • 每个索引有名称,例如:users, products, logs-2025.11.27

3. Field(字段)

  • 文档的属性
  • 例如:title, content, timestamp, tags

4. Mapping(映射)

  • 类似数据库的 schema
  • 定义字段类型和行为
{
"properties": {
"title": { "type": "text" },
"views": { "type": "integer" },
"created_at": { "type": "date" }
}
}
  • text 用于全文搜索
  • keyword 用于精确匹配、排序、聚合

5. Cluster(集群)

  • Elasticsearch 系统由多个节点组成
  • 集群内所有节点共同提供存储和搜索能力

6. Node(节点)

  • 集群中的单个实例

  • 可分角色:

  • master 节点:管理集群

  • data 节点:存储数据,执行搜索

  • ingest 节点:预处理数据

  • coordinating-only 节点:路由请求

7. Shard(分片)

  • 将索引拆分成多个片段,分布到不同节点
  • 支持水平扩展和负载均衡

8. Replica(副本)

  • 分片的副本
  • 提高数据可用性和搜索吞吐量

9. Analyzer(分词器)

  • 将文本分解为可搜索的词项
  • 例如英文空格分词、中文 IK 分词
  • 分词影响全文搜索效果

10. Query DSL(查询语法)

  • Elasticsearch 使用 JSON 格式查询语法

  • 常用:

  • match:全文搜索

  • term:精确匹配

  • range:范围查询

  • aggregations:聚合统计

示例:

{
"query": {
"match": {
"content": "Elasticsearch"
}
}
}

🟩 核心总结

概念类比数据库作用
Document一行数据最小存储单元
Index存储文档集合
Field文档属性
Mappingschema字段类型定义
Shard分区水平切分数据
Replica副本高可用 & 并行搜索
Cluster/Node集群/服务器分布式存储和计算