---
title: "产品概述"
date: 0001-01-01
summary: "概述 #  介绍 #  INFINI Easysearch 是一款分布式 AI 搜索型数据库，支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能。
Easysearch 采用商用友好协议，企业可自由进行内部部署、二次开发和商业化服务，无需担忧协议合规风险。基于 Lucene 构建，Easysearch 紧跟 Lucene 最新版本持续迭代更新，兼容 ES API 与生态工具，为企业提供轻量、安全、自主可控的搜索平台。
核心特性 #     特性 说明     轻量易用 安装包约 50MB，开箱即用   内置安全 默认启用 TLS 加密与身份认证，支持 LDAP   全文检索 基于 Lucene，支持 BM25 评分、IK 中文分词、同义词   向量检索 kNN 近似最近邻搜索，支持 AI embedding   聚合分析 桶聚合、指标聚合、管道聚合   SQL 支持 使用 SQL 语法查询索引，支持 JDBC   ES 兼容 兼容 ES API、客户端与生态工具   信创适配 支持龙芯、鲲鹏、飞腾、麒麟、统信等国产平台    架构总览 #  ┌─────────────────────────────────┐ │ 客户端 / 应用程序 │ │ (REST API, Java, Python, SQL) │ └──────────────┬──────────────────┘ │ HTTPS (9200) ┌──────────────▼──────────────────┐ │ INFINI Gateway (可选) │ │ 负载均衡 · 限流 · 查询审计 │ └──────────────┬──────────────────┘ │ ┌────────────────────────┼────────────────────────┐ │ │ │ ┌───────▼───────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ Node 1 │ │ Node 2 │ │ Node 3 │ │ master+data │◄────►│ master+data │◄───►│ master+data │ │ │ 9300 │ │9300 │ │ │ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ │ │ │S0 │ │S1R│ │ │ │S1 │ │S2R│ │ │ │S2 │ │S0R│ │ │ └───┘ └───┘ │ │ └───┘ └───┘ │ │ └───┘ └───┘ │ └───────────────┘ └────────────────┘ └────────────────┘ S = 主分片 SR = 副本分片  节点 (Node)：一个 Easysearch 实例，承载数据和处理请求 集群 (Cluster)：一组协同工作的节点 索引 (Index)：文档的逻辑集合，类比关系数据库的表 分片 (Shard)：索引的物理分区，分布在不同节点上 副本 (Replica)：分片的冗余拷贝，提供高可用和读扩展  商用友好协议 #  Easysearch 是商业软件，采用商用友好协议，专为企业商业化需求设计："
---


# 概述

## 介绍

**INFINI Easysearch** 是一款分布式 AI 搜索型数据库，支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能。

Easysearch 采用商用友好协议，企业可自由进行内部部署、二次开发和商业化服务，无需担忧协议合规风险。基于 Lucene 构建，Easysearch 紧跟 Lucene 最新版本持续迭代更新，兼容 ES API 与生态工具，为企业提供轻量、安全、自主可控的搜索平台。

## 核心特性

| 特性 | 说明 |
|------|------|
| **轻量易用** | 安装包约 50MB，开箱即用 |
| **内置安全** | 默认启用 TLS 加密与身份认证，支持 LDAP |
| **全文检索** | 基于 Lucene，支持 BM25 评分、IK 中文分词、同义词 |
| **向量检索** | kNN 近似最近邻搜索，支持 AI embedding |
| **聚合分析** | 桶聚合、指标聚合、管道聚合 |
| **SQL 支持** | 使用 SQL 语法查询索引，支持 JDBC |
| **ES 兼容** | 兼容 ES API、客户端与生态工具 |
| **信创适配** | 支持龙芯、鲲鹏、飞腾、麒麟、统信等国产平台 |

## 架构总览

```
                    ┌─────────────────────────────────┐
                    │        客户端 / 应用程序          │
                    │  (REST API, Java, Python, SQL)   │
                    └──────────────┬──────────────────┘
                                   │ HTTPS (9200)
                    ┌──────────────▼──────────────────┐
                    │      INFINI Gateway (可选)       │
                    │   负载均衡 · 限流 · 查询审计      │
                    └──────────────┬──────────────────┘
                                   │
          ┌────────────────────────┼────────────────────────┐
          │                        │                        │
  ┌───────▼───────┐      ┌────────▼────────┐     ┌────────▼────────┐
  │    Node 1     │      │     Node 2      │     │     Node 3      │
  │  master+data  │◄────►│   master+data   │◄───►│   master+data   │
  │               │ 9300 │                 │9300 │                 │
  │ ┌───┐ ┌───┐  │      │ ┌───┐ ┌───┐    │     │ ┌───┐ ┌───┐    │
  │ │S0 │ │S1R│  │      │ │S1 │ │S2R│    │     │ │S2 │ │S0R│    │
  │ └───┘ └───┘  │      │ └───┘ └───┘    │     │ └───┘ └───┘    │
  └───────────────┘      └────────────────┘     └────────────────┘
      S = 主分片  SR = 副本分片
```

- **节点 (Node)**：一个 Easysearch 实例，承载数据和处理请求
- **集群 (Cluster)**：一组协同工作的节点
- **索引 (Index)**：文档的逻辑集合，类比关系数据库的表
- **分片 (Shard)**：索引的物理分区，分布在不同节点上
- **副本 (Replica)**：分片的冗余拷贝，提供高可用和读扩展

## 商用友好协议

Easysearch 是商业软件，采用商用友好协议，专为企业商业化需求设计：

| 权利 | 说明 |
|------|------|
| **内部使用** | 可在任何规模的生产环境中自由部署和使用 |
| **二次开发** | 允许深度定制和功能扩展，衍生成果完全归企业所有 |
| **商业化服务** | 可基于 Easysearch 构建 SaaS、托管服务或商业产品，无需公开源代码 |
| **部署自由** | 支持私有云、公有云、混合云及任何物理环境 |
| **无传染性** | 不会因为提供服务而被迫公开技术栈实现 |

## 基本概念

### 集群和节点

Easysearch 采用分布式设计，意味着您可以与集群中的任何节点进行交互。每个集群都是一个或多个节点的集合。

- 小集群（3 节点）适合中小数据量
- 大集群可以扩展到数百个节点，按角色分离职责
- 有关节点角色的设置，请参阅[搭建集群]({{< relref "/docs/operations/cluster-admin/cluster" >}})

### 索引与文档

Easysearch 将数据组织成索引。每个索引都是 JSON 文档的集合：

```json
{
  "title": "INFINI Labs",
  "release_date": "2021-12-03"
}
```

将文档添加到索引时，Easysearch 会添加元数据（`_id`、`_index`、`_version` 等）。

索引还包含：

- **映射 (Mapping)**：定义字段类型（text、keyword、integer、date 等）
- **设置 (Settings)**：分片数量、副本数、刷新间隔等

### 主分片和副本分片

- **主分片**：承载数据的原始分区，索引创建后数量不可更改
- **副本分片**：主分片的冗余拷贝，提供故障转移和读取扩展
- 经验法则：单个分片大小保持在 10~50 GB

### REST API

使用 HTTP 请求与 Easysearch 交互：

```bash
# 写入文档
curl -ku admin:password -X PUT "https://localhost:9200/my-index/_doc/1" \
  -H 'Content-Type: application/json' \
  -d '{"title": "Hello", "content": "Easysearch 入门"}'

# 搜索
curl -ku admin:password "https://localhost:9200/my-index/_search?q=Hello"

# 删除
curl -ku admin:password -X DELETE "https://localhost:9200/my-index/_doc/1"
```

> 详见 [RESTful 与 Query DSL]({{< relref "../fundamentals/restful-query-dsl.md" >}})。

## 下一步

- [快速开始]({{< relref "../quick-start/" >}})：15 分钟完成安装、连接与查询
- [基础理论]({{< relref "../fundamentals/" >}})：倒排索引、分布式原理、评分模型
- [功能手册]({{< relref "../features/" >}})：全文搜索、聚合、Mapping、SQL 等完整功能
