Easy-Es Easy-Es
💋Home
  • v2.1.0(current version)
  • What's New

    • What' s New In Easy-Es v2.1.0?
  • history version

    • v1.x.x
  • Upgrade guide

    • Upgrade to 2.x.x instructions
💖Support
  • OS Community
  • Recommend Goods
  • Project PPT (opens new window)
  • Project introduction
  • Project members
  • PR
Join
Customer
  • Doc-Apis (opens new window)
  • Fitness plan automatic generation system (opens new window)
  • Vuepress-theme-vdoing (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)

adv display by random ❤️become sponsor
💋Home
  • v2.1.0(current version)
  • What's New

    • What' s New In Easy-Es v2.1.0?
  • history version

    • v1.x.x
  • Upgrade guide

    • Upgrade to 2.x.x instructions
💖Support
  • OS Community
  • Recommend Goods
  • Project PPT (opens new window)
  • Project introduction
  • Project members
  • PR
Join
Customer
  • Doc-Apis (opens new window)
  • Fitness plan automatic generation system (opens new window)
  • Vuepress-theme-vdoing (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)
  • Quick start

    • Introduction.md
      • Benefits
      • Features
      • framework architecture
      • Code hosting
      • Participate in contributing
    • Applicable scene
    • Worry free
    • Avoid pit
    • Quick start
    • Springboot demo
    • Spring Integration Guide
    • Solon Integration Guide
    • Config
    • Annotation
  • Core function

    • Condition constructor

      • Introduction of Wrapper
      • Index wrapper
      • Select wrapper
      • Update wrapper
    • Index CRUD

      • Index hosting model
      • Index CRUD
    • Data CRUD

      • Data synchronization solutions
      • Data CRUD
    • Multiple data sources support
    • Dynamic indexing support
    • Four nested query
    • Chain call
  • Extended function

    • Mixed query
    • Origin query
    • Page
    • Nested
    • Join parent child
    • Get DSL
    • ExecuteDSL
    • Execute SQL
    • Custom RequestOptions
    • Custom default method
  • High-level syntax

    • Field filtering
    • Sort
    • Aggregation
    • Match&fuzzy match
    • Weight
    • Highlight
    • Geo
    • IP
  • Plugin

    • Plugin
  • Other

    • Faq
    • Difference from MP
    • MySQL and EE syntax comparison
    • Update log
    • Update plan
    • Copyright
    • Thanks
  • v2.xDoc
  • Quick start
LaoHan
2023-03-18
目录

Introduction.md

# Introduction

Easy-Es (EE) is an official ElasticSearch (Es) based on RestHighLevelClient to build the ORM development framework, based on RestHighLevelClient, only enhancements do not change, to simplify the development, efficiency and born, if you have used Mybatis-Plus (MP for short), then you can basically zero learning costs directly to start EE, EE is the Es flat version of MP, in some ways even simpler than MP, but also incorporates more Es unique features to help you quickly achieve a variety of scenarios of development.

Philosophy Leave the simplicity, ease of use, convenience to the user, and leave the complexity to the framework.

Vision Let the world no difficult to use Es, is committed to become the world's most popular ElasticSearch search engine development framework.

logo

# Benefits

  • fully automated index hosting: the world's first open source index hosting model, developers do not need to care about the creation of index updates and data migration and other tedious steps, the entire life cycle of the index can be hosted to the framework, automatically completed by the framework, the process zero downtime, no user perception, completely free developers
  • shield language differences: Developers only need to know MySQL syntax to use Es, truly a pass, no need to learn the boring and forgettable Es syntax, Es is relatively low frequency use of MySQL, learn a long time will be forgotten, there is no need to waste this time. The development should focus on business, save time to jerk off, go with your girlfriend and family, do not do the capitalist leeks
  • Intelligent field type inference: Intelligent judgment based on the index type and the context of the current query type to determine whether the current query needs to be spliced .keyword suffix, to reduce the possibility of misuse of white
  • Minimal code: Compared to using RestHighLevelClient directly, the same query can save an average of about 3-80 times the amount of code
  • Strong scalability: The framework has built-in hybrid queries and native queries, whether at the index level or CRUD level, all have the scalability of >= native API. There is no need to worry about the impact on development after introduction, as long as it is a function that ES itself can support. You can do it all with Easy-ES
  • Zero magic value: field name directly from the entity, no need to enter the field name string such as magic value, improve code readability, eliminate the field name change and code leakage due to the change of bugs
  • Zero additional learning costs: Developers can seamlessly migrate to EE as long as they know the most popular Mybatis-Plus syntax in China, EE uses the same syntax as the former, eliminating additional learning costs for users to get started directly, cool!
  • Lower developer threshold: Es usually requires senior developers to master, but by accessing EE, even beginners who only understand the basics of ES can easily master ES to complete most of the needs of the development, which can improve staff utilization and reduce enterprise costs

# Features

  • Non-intrusive: only enhancements are made without changes, and its introduction does not affect existing projects, as smooth as silk
  • Low loss: the start will automatically inject the basic CURD, performance is basically no loss, direct object-oriented operation
  • Powerful CRUD operations: built-in generic Mapper, just a small amount of configuration to achieve most CRUD operations, more powerful conditional constructors, to meet the needs of all kinds of use
  • Support Lambda form call: Through Lambda expressions, it is convenient to write all kinds of query conditions, no longer worry about writing the wrong segment of the field
  • Support for automatic primary key generation: Support for two primary key strategies, freely configurable, the perfect solution to the primary key problem
  • Support ActiveRecord mode: Support ActiveRecord form of invocation, entity classes only need to inherit Model class can be powerful CRUD operations
  • Support for custom global generic operations: support for global generic method injection (Write once, use anywhere)
  • Built-in paging plug-in: based on RestHighLevelClient physical paging, developers do not need to care about specific operations, and no additional configuration plug-in, write paging equivalent to ordinary List queries, and maintain the same paging and PageHelper plug-in return fields, without worrying about the impact of naming
  • MySQL full coverage: MySQL supported features can be easily achieved through EE
  • Support ES higher-order syntax: support for highlighting search, split-word query, weight query, Geo geolocation query, IP query, aggregation query and other higher-order syntax
  • Good extensibility: the underlying layer still uses RestHighLevelClient, can maintain its extensibility, developers can use EE at the same time, but still use the functions of RestHighLevelClient

...

# framework architecture

framework architecture EasyEsJG.jpg

# Code hosting

Gitee (opens new window)✔ | Github (opens new window)✔

# Participate in contributing

Before the debut of Easy-Es, due to the high complexity of ES's own API, there was only one company on the market, SpringData, which was doing ES-ORM. The emergence of Easy-Es filled the vacancy of domestic ES-ORM for more than ten years, and the design concept of MP was natural. Better than SpringData, after long-term and unremitting efforts, we have firmly ranked first in the domestic ES-ORM market, but we are not satisfied with this. Our goal is to become the most popular ES-ORM in the world, so in We welcome all heroes to participate in improving Easy-Es. We look forward to your PR!

  • Contribute code: code address Easy-ES (opens new window), welcome to submit Issue or Pull Requests
  • Maintain the documentation: The documentation is located at Easy-ES (opens new window), welcome to participate in translation and revision
Help us improve this document (opens new window)
Last update: 2025/05/11
Applicable scene

Applicable scene→

Theme by Vdoing | Copyright © 2021-2025 LaoHan | Zhejiang ICP No. 2022020479 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式