easy-es/dist/pages/98d3d3/index.html
2022-06-29 10:14:25 +08:00

158 lines
40 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>与MP差异 | Easy-Es</title>
<meta name="generator" content="VuePress 1.9.7">
<link rel="icon" href="/img/logo.svg">
<script async="true" src="https://cdn.wwads.cn/js/makemoney.js" type="text/javascript"></script>
<script>
// 万维广告“禁止”广告拦截
// function called if wwads is blocked
// https://github.com/bytegravity/whitelist-wwads
function ABDetected() {
var adBlockDetected_div = document.createElement("div");
document.body.appendChild(adBlockDetected_div);
var navbar = document.querySelector(".navbar");
navbar.style.cssText="transition:top 300ms;top:33px";
adBlockDetected_div.style.cssText = "position: fixed; top: 0; left: 0; width: 100%; background: #E01E5A; color: #fff; z-index: 9999999999; font-size: 14px; text-align: center; line-height: 1.5; font-weight: bold; padding-top: 6px; padding-bottom: 6px;";
adBlockDetected_div.innerHTML = "我们的广告服务商 <a style='color:#fff;text-decoration:underline' target='_blank' href='https://wwads.cn/page/end-user-privacy'>并不跟踪您的隐私</a>,为了支持本站的长期运营,请将我们的网站 <a style='color: #fff;text-decoration:underline' target='_blank' href='https://wwads.cn/page/whitelist-wwads'>加入广告拦截器的白名单</a>。";
document.getElementsByTagName("body")[0].appendChild(adBlockDetected_div);
// add a close button to the right side of the div
var adBlockDetected_close = document.createElement("div");
adBlockDetected_close.style.cssText = "position: absolute; top: 0; right: 10px; width: 30px; height: 30px; background: #E01E5A; color: #fff; z-index: 9999999999; line-height: 30px; cursor: pointer;";
adBlockDetected_close.innerHTML = "×";
adBlockDetected_div.appendChild(adBlockDetected_close);
// add a click event to the close button
adBlockDetected_close.onclick = function() {
this.parentNode.parentNode.removeChild(this.parentNode);
navbar.style.cssText="transition:top 300ms;top:0";
};
}
function vote() {
var voteDetected_div = document.createElement("div");
voteDetected_div.style.cssText = "position: absolute; top: 0; left: 0; width: 100%; background: #7bbfea; color: #fff; z-index: 9999999999; font-size: 14px; text-align: center; line-height: 1.5; font-weight: bold; padding-top: 6px; padding-bottom: 6px;";
voteDetected_div.innerHTML = "<a style='color:#fff;text-decoration:underline' target='_blank' href='xxxxxx'>LiteFlow 正在参与“2021年度 OSC 中国开源项目”评选,请为我们投上宝贵的一票,谢谢!</a>";
document.getElementsByTagName("body")[0].appendChild(voteDetected_div);
voteDetected_div.onclick = function() {
this.remove();
};
}
function docReady(t) {
"complete" === document.readyState ||
"interactive" === document.readyState
? setTimeout(t, 1)
: document.addEventListener("DOMContentLoaded", t);
}
//check if wwads' fire function was blocked after document is ready with 3s timeout (waiting the ad loading)
docReady(function () {
setTimeout(function () {
if( window._AdBlockInit === undefined ){
ABDetected();
}
}, 3000);
});
</script>
<meta name="description" content="傻瓜级ElasticSearch搜索引擎ORM框架">
<meta name="keywords" content="liteflow,liteflow官网,规则引擎,流程引擎,开源,java规则引擎,rule engine,open source">
<meta name="theme-color" content="#11a8cd">
<meta name="wwads-cn-verify" content="6c4b761a28b734fe93831e3fb400ce87">
<link rel="preload" href="/assets/css/0.styles.6ef972f0.css" as="style"><link rel="preload" href="/assets/js/app.a043ea6c.js" as="script"><link rel="preload" href="/assets/js/2.b31e9563.js" as="script"><link rel="preload" href="/assets/js/33.c9d3e92a.js" as="script"><link rel="prefetch" href="/assets/js/10.19174b1e.js"><link rel="prefetch" href="/assets/js/11.894186b9.js"><link rel="prefetch" href="/assets/js/12.db605a96.js"><link rel="prefetch" href="/assets/js/13.b73cdb41.js"><link rel="prefetch" href="/assets/js/14.cf6889a0.js"><link rel="prefetch" href="/assets/js/15.00fe4aad.js"><link rel="prefetch" href="/assets/js/16.aaeacd30.js"><link rel="prefetch" href="/assets/js/17.18f91003.js"><link rel="prefetch" href="/assets/js/18.85a6012d.js"><link rel="prefetch" href="/assets/js/19.52abe221.js"><link rel="prefetch" href="/assets/js/20.5efd1216.js"><link rel="prefetch" href="/assets/js/21.b01e3dd8.js"><link rel="prefetch" href="/assets/js/22.19b7c6e9.js"><link rel="prefetch" href="/assets/js/23.61a37b77.js"><link rel="prefetch" href="/assets/js/24.c9fd2023.js"><link rel="prefetch" href="/assets/js/25.9f47cc67.js"><link rel="prefetch" href="/assets/js/26.d92123f2.js"><link rel="prefetch" href="/assets/js/27.26ed9a0f.js"><link rel="prefetch" href="/assets/js/28.27718b27.js"><link rel="prefetch" href="/assets/js/29.c587dc8e.js"><link rel="prefetch" href="/assets/js/3.9bed2644.js"><link rel="prefetch" href="/assets/js/30.bdf6c7e1.js"><link rel="prefetch" href="/assets/js/31.1f034574.js"><link rel="prefetch" href="/assets/js/32.9efe4239.js"><link rel="prefetch" href="/assets/js/34.082b3bdd.js"><link rel="prefetch" href="/assets/js/35.9b536766.js"><link rel="prefetch" href="/assets/js/36.538f4cab.js"><link rel="prefetch" href="/assets/js/37.ec29b472.js"><link rel="prefetch" href="/assets/js/38.345c3a98.js"><link rel="prefetch" href="/assets/js/39.3bd0ce3e.js"><link rel="prefetch" href="/assets/js/4.ff5881ba.js"><link rel="prefetch" href="/assets/js/40.38eac996.js"><link rel="prefetch" href="/assets/js/41.21fb6cbc.js"><link rel="prefetch" href="/assets/js/42.269bed85.js"><link rel="prefetch" href="/assets/js/43.ba49c91c.js"><link rel="prefetch" href="/assets/js/44.0ef92d59.js"><link rel="prefetch" href="/assets/js/45.ac944d9e.js"><link rel="prefetch" href="/assets/js/5.a45d370b.js"><link rel="prefetch" href="/assets/js/6.88a99593.js"><link rel="prefetch" href="/assets/js/7.50f14e69.js"><link rel="prefetch" href="/assets/js/8.36c9d6e9.js"><link rel="prefetch" href="/assets/js/9.54eecf7f.js">
<link rel="stylesheet" href="/assets/css/0.styles.6ef972f0.css">
</head>
<body class="theme-mode-light">
<div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/img/logo.png" alt="Easy-Es" class="logo"> <span class="site-name can-hide">Easy-Es</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/pages/ec7460/" class="nav-link">文档</a></div><div class="nav-item"><a href="/pages/fb599d/" class="nav-link">💖支持</a></div><div class="nav-item"><a href="/pages/1a819d/" class="nav-link">🌻生态</a></div><div class="nav-item"><a href="/pages/55wa9d/" class="nav-link">🚀关于项目</a></div><div class="nav-item"><a href="/pages/kd129d/" class="nav-link">加入社区讨论</a></div><div class="nav-item"><a href="/pages/7d828w/" class="nav-link">参与贡献</a></div><div class="nav-item"><a href="/pages/6f829d/" class="nav-link">谁在使用</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="💞推荐" class="dropdown-title"><!----> <span class="title" style="display:;">💞推荐</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://gitee.com/easy-es/fit-plan" target="_blank" rel="noopener noreferrer" class="nav-link external">
健身计划一键生成系统
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div><div class="nav-item"><a href="https://gitee.com/dromara/easy-es" target="_blank" rel="noopener noreferrer" class="nav-link external">
Gitee
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/dromara/easy-es" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="💫语言选择" class="dropdown-title"><!----> <span class="title" style="display:;">💫语言选择</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://easy-es.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
简体中文
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://en.easy-es.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
English
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/pages/ec7460/" class="nav-link">文档</a></div><div class="nav-item"><a href="/pages/fb599d/" class="nav-link">💖支持</a></div><div class="nav-item"><a href="/pages/1a819d/" class="nav-link">🌻生态</a></div><div class="nav-item"><a href="/pages/55wa9d/" class="nav-link">🚀关于项目</a></div><div class="nav-item"><a href="/pages/kd129d/" class="nav-link">加入社区讨论</a></div><div class="nav-item"><a href="/pages/7d828w/" class="nav-link">参与贡献</a></div><div class="nav-item"><a href="/pages/6f829d/" class="nav-link">谁在使用</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="💞推荐" class="dropdown-title"><!----> <span class="title" style="display:;">💞推荐</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://gitee.com/easy-es/fit-plan" target="_blank" rel="noopener noreferrer" class="nav-link external">
健身计划一键生成系统
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div><div class="nav-item"><a href="https://gitee.com/dromara/easy-es" target="_blank" rel="noopener noreferrer" class="nav-link external">
Gitee
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/dromara/easy-es" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="💫语言选择" class="dropdown-title"><!----> <span class="title" style="display:;">💫语言选择</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://easy-es.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
简体中文
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://en.easy-es.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
English
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>快速入门</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/ec7460/" class="sidebar-link">简介</a></li><li><a href="/pages/258e80/" class="sidebar-link">适用场景</a></li><li><a href="/pages/6e2197/" class="sidebar-link">顾虑粉碎</a></li><li><a href="/pages/0867bd/" class="sidebar-link">避坑指南</a></li><li><a href="/pages/949ac4/" class="sidebar-link">快速开始</a></li><li><a href="/pages/12283a/" class="sidebar-link">springboot集成demo</a></li><li><a href="/pages/9a3e4c/" class="sidebar-link">配置</a></li><li><a href="/pages/4eb7db/" class="sidebar-link">注解</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>核心功能</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/06b5d9/" class="sidebar-link">索引处理</a></li><li><a href="/pages/c5999a/" class="sidebar-link">CRUD接口</a></li><li><a href="/pages/1cebb8/" class="sidebar-link">条件构造器</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>拓展功能</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/a19563/" class="sidebar-link">混合查询</a></li><li><a href="/pages/4446a5/" class="sidebar-link">原生查询</a></li><li><a href="/pages/0cf11e/" class="sidebar-link">分页查询</a></li><li><a href="/pages/05702c/" class="sidebar-link">嵌套类型</a></li><li><a href="/pages/0bbd7e/" class="sidebar-link">父子类型</a></li><li><a href="/pages/981130/" class="sidebar-link">获取DSL语句</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>高阶语法</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/c9c57f/" class="sidebar-link">查询字段过滤</a></li><li><a href="/pages/274da8/" class="sidebar-link">排序</a></li><li><a href="/pages/b508b3/" class="sidebar-link">聚合查询</a></li><li><a href="/pages/2688d1/" class="sidebar-link">分词查询</a></li><li><a href="/pages/e6fc8d/" class="sidebar-link">权重</a></li><li><a href="/pages/899c12/" class="sidebar-link">高亮查询</a></li><li><a href="/pages/39b41e/" class="sidebar-link">GEO地理位置查询</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>插件</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/6431d1/" class="sidebar-link">插件</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>其它</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/453119/" class="sidebar-link">问答</a></li><li><a href="/pages/98d3d3/" aria-current="page" class="active sidebar-link">与MP差异</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/pages/98d3d3/#_1-命名差异" class="sidebar-link">1.命名差异</a></li><li class="sidebar-sub-header level2"><a href="/pages/98d3d3/#_2-移除了service" class="sidebar-link">2.移除了Service</a></li><li class="sidebar-sub-header level2"><a href="/pages/98d3d3/#_3-方法差异" class="sidebar-link">3.方法差异</a></li></ul></li><li><a href="/pages/6fea40/" class="sidebar-link">MySQL和EE语法对比</a></li><li><a href="/pages/b65406/" class="sidebar-link">更新日志</a></li><li><a href="/pages/e14b42/" class="sidebar-link">更新计划</a></li><li><a href="/pages/796d01/" class="sidebar-link">版权</a></li><li><a href="/pages/4d7703/" class="sidebar-link">鸣谢</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="articleInfo-wrap" data-v-06225672><div class="articleInfo" data-v-06225672><ul class="breadcrumbs" data-v-06225672><li data-v-06225672><a href="/" title="首页" class="iconfont icon-home router-link-active" data-v-06225672></a></li> <li data-v-06225672><span data-v-06225672>0.0</span></li><li data-v-06225672><span data-v-06225672>其它</span></li></ul> <div class="info" data-v-06225672><div title="作者" class="author iconfont icon-touxiang" data-v-06225672><a href="https://gitee.com/easy-es/" target="_blank" title="作者" class="beLink" data-v-06225672>老汉</a></div> <div title="创建时间" class="date iconfont icon-riqi" data-v-06225672><a href="javascript:;" data-v-06225672>2022-06-21</a></div> <!----></div></div></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">与MP差异<!----></h1> <div class="page-slot page-slot-top">
<div class="wwads-cn wwads-horizontal page-ad" data-id="129" style="width:100%;max-height:80px;min-height:auto;"></div>
<style>
.page-ad img{
width:80px!important;
}
.wwads-horizontal .wwads-content{
display: flex;
align-items: center;
}
.wwads-horizontal .wwads-text, .wwads-content .wwads-text{
line-height:1;
flex: 1;
height: 100%;
display: flex;
align-items: center;
}
.wwads-horizontal .wwads-poweredby, .wwads-vertical .wwads-poweredby{display: none;!important;}
</style>
</div> <div class="theme-vdoing-content content__default"><div class="custom-block tip"><p class="custom-block-title">提示</p> <p>为了减少开发者的额外学习负担,我们尽量保持了和MP几乎一致的语法,但为了避免歧义,仍有个别地方存在些许差异,毕竟ES和MySQL有很多地方不一样无论如何,在你看完这些差异和原因后,你肯定也会赞同这种差异存在的必要性.</p></div> <h2 id="_1-命名差异"><a href="#_1-命名差异" class="header-anchor">#</a> 1.命名差异</h2> <p>为了区别MP的命名带来的歧义问题,以下三处命名中我们加了Es字母区别于MP:</p> <table><thead><tr><th></th> <th>MP</th> <th>EE</th> <th>差异原因</th></tr></thead> <tbody><tr><td>启动类注解</td> <td>@MapperScan(&quot;xxx&quot;)</td> <td>@EsMapperScan(&quot;xxx&quot;)</td> <td>一个项目中可能会同时用到MP和EE,避免同一系统中同时引入同名注解时,需要加全路径区分</td></tr> <tr><td>父类Mapper命名</td> <td><code>BaseMapper&lt;T&gt;</code></td> <td><code>BaseEsMapper&lt;T&gt;</code></td> <td>一个项目中可能会同时用到MP和EE,避免继承时误继承到MP的Mapper</td></tr> <tr><td>条件构造器命名</td> <td>LambdaQueryWrapper</td> <td>LambdaEsQueryWrapper</td> <td>一个项目中可能会同时用到MP和EE,避免错误创建条件构造器</td></tr></tbody></table> <h2 id="_2-移除了service"><a href="#_2-移除了service" class="header-anchor">#</a> 2.移除了Service</h2> <p>MP中引入了Service层,但EE中并无Service层,因为我个人认为MP的Service层太重了,不够灵活,实际开发中基本不用,被很多人吐槽,所以EE中我直接去掉了Service层,在使用过程中你无需像MP那样继承ISevice,另外我把一些高频使用的service层封装的方法下沉到了mapper层,比如批量更新,批量新增等,大家可以在调用基类Mapper层中的方法时看到,灵活且不失优雅.</p> <h2 id="_3-方法差异"><a href="#_3-方法差异" class="header-anchor">#</a> 3.方法差异</h2> <p>group by 聚合在EE中使用groupBy方法时,调用查询接口必须使用获取原生返回内容,不能像MP中一样返回泛型T,这点是由于ES和MySQL的差导致的,所以需要特别注意</p> <div class="language-java line-numbers-mode"><pre class="language-java"><code>
<span class="token class-name">LambdaEsUpdateWrapper</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">T</span><span class="token punctuation">&gt;</span></span> wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LambdaEsUpdateWrapper</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token punctuation">&gt;</span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
wrapper<span class="token punctuation">.</span><span class="token function">groupBy</span><span class="token punctuation">(</span><span class="token class-name">T</span><span class="token operator">::</span><span class="token function">getField</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// MP语法</span>
<span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">T</span><span class="token punctuation">&gt;</span></span> list <span class="token operator">=</span> xxxMapper<span class="token punctuation">.</span><span class="token function">selectList</span><span class="token punctuation">(</span>wrapper<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// EE语法</span>
<span class="token class-name">SearchResponse</span> response <span class="token operator">=</span> xxxMapper<span class="token punctuation">.</span><span class="token function">search</span><span class="token punctuation">(</span>wrapper<span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><p>因为Es会把聚合的结果单独放到aggregations对象中,但原来的实体对象中并无此字段,所以我们需要用SearchResponse接收查询返回的结果,我们所需要的所有查询信息都可以从SearchResponse中获取.</p> <div class="language-json line-numbers-mode"><pre class="language-json"><code><span class="token property">&quot;aggregations&quot;</span><span class="token operator">:</span><span class="token punctuation">{</span><span class="token property">&quot;sterms#creator&quot;</span><span class="token operator">:</span><span class="token punctuation">{</span><span class="token property">&quot;doc_count_error_upper_bound&quot;</span><span class="token operator">:</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token property">&quot;sum_other_doc_count&quot;</span><span class="token operator">:</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token property">&quot;buckets&quot;</span><span class="token operator">:</span><span class="token punctuation">[</span><span class="token punctuation">{</span><span class="token property">&quot;key&quot;</span><span class="token operator">:</span><span class="token string">&quot;老汉&quot;</span><span class="token punctuation">,</span><span class="token property">&quot;doc_count&quot;</span><span class="token operator">:</span><span class="token number">2</span><span class="token punctuation">}</span><span class="token punctuation">,</span><span class="token punctuation">{</span><span class="token property">&quot;key&quot;</span><span class="token operator">:</span><span class="token string">&quot;老王&quot;</span><span class="token punctuation">,</span><span class="token property">&quot;doc_count&quot;</span><span class="token operator">:</span><span class="token number">1</span><span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">}</span><span class="token punctuation">}</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>移除了几个我目前还没看到使用场景的方法:</p> <div class="language-java line-numbers-mode"><pre class="language-java"><code><span class="token function">having</span><span class="token punctuation">(</span><span class="token class-name">String</span> sqlHaving<span class="token punctuation">,</span> <span class="token class-name">Object</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> params<span class="token punctuation">)</span>
<span class="token function">having</span><span class="token punctuation">(</span><span class="token keyword">boolean</span> condition<span class="token punctuation">,</span> <span class="token class-name">String</span> sqlHaving<span class="token punctuation">,</span> <span class="token class-name">Object</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> params<span class="token punctuation">)</span>
<span class="token function">func</span><span class="token punctuation">(</span><span class="token class-name">Consumer</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Children</span><span class="token punctuation">&gt;</span></span> consumer<span class="token punctuation">)</span>
<span class="token function">func</span><span class="token punctuation">(</span><span class="token keyword">boolean</span> condition<span class="token punctuation">,</span> <span class="token class-name">Consumer</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">Children</span><span class="token punctuation">&gt;</span></span> consumer<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p>新增了一些EE有但MP不支持的方法:</p> <div class="language-java line-numbers-mode"><pre class="language-java"><code><span class="token comment">// 索引创建相关</span>
<span class="token class-name">Boolean</span> <span class="token function">existsIndex</span><span class="token punctuation">(</span><span class="token class-name">String</span> indexName<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Boolean</span> <span class="token function">createIndex</span><span class="token punctuation">(</span><span class="token class-name">LambdaEsIndexWrapper</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">T</span><span class="token punctuation">&gt;</span></span> wrapper<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Boolean</span> <span class="token function">updateIndex</span><span class="token punctuation">(</span><span class="token class-name">LambdaEsIndexWrapper</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">T</span><span class="token punctuation">&gt;</span></span> wrapper<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token class-name">Boolean</span> <span class="token function">deleteIndex</span><span class="token punctuation">(</span><span class="token class-name">String</span> indexName<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 权重</span>
<span class="token function">function</span><span class="token punctuation">(</span>字段<span class="token punctuation">,</span><span class="token punctuation">,</span> <span class="token class-name">Float</span> 权重值<span class="token punctuation">)</span>
<span class="token comment">// Geo 地理位置相关</span>
<span class="token function">geoBoundingBox</span><span class="token punctuation">(</span><span class="token class-name">R</span> column<span class="token punctuation">,</span> <span class="token class-name">GeoPoint</span> topLeft<span class="token punctuation">,</span> <span class="token class-name">GeoPoint</span> bottomRight<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">geoDistance</span><span class="token punctuation">(</span><span class="token class-name">R</span> column<span class="token punctuation">,</span> <span class="token class-name">Double</span> distance<span class="token punctuation">,</span> <span class="token class-name">DistanceUnit</span> distanceUnit<span class="token punctuation">,</span> <span class="token class-name">GeoPoint</span> centralGeoPoint<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">geoPolygon</span><span class="token punctuation">(</span><span class="token class-name">R</span> column<span class="token punctuation">,</span> <span class="token class-name">List</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">GeoPoint</span><span class="token punctuation">&gt;</span></span> geoPoints<span class="token punctuation">)</span><span class="token function">geoShape</span><span class="token punctuation">(</span><span class="token class-name">R</span> column<span class="token punctuation">,</span> <span class="token class-name">String</span> indexedShapeId<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">geoShape</span><span class="token punctuation">(</span><span class="token class-name">R</span> column<span class="token punctuation">,</span> <span class="token class-name">String</span> indexedShapeId<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">geoShape</span><span class="token punctuation">(</span><span class="token class-name">R</span> column<span class="token punctuation">,</span> <span class="token class-name">Geometry</span> geometry<span class="token punctuation">,</span> <span class="token class-name">ShapeRelation</span> shapeRelation<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 其它...</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br></div></div><p>除了需要注意以上列出的这些小差异,其余地方和MP并无明显差异,使用者完全可以像使用MP一样使用EE</p></div></div> <div class="page-edit"><div class="edit-link"><a href="https://github.com/xpc1024/easy-es-home-source/edit/master/docs/v1.0.0/060.其它/020.与MP差异.md" target="_blank" rel="noopener noreferrer">帮助我们改善此文档</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <!----> <div class="last-updated"><span class="prefix">上次更新:</span> <span class="time">2022/06/29, 09:26:41</span></div></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/pages/453119/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">问答</div></a> <a href="/pages/6fea40/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">MySQL和EE语法对比</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/pages/453119/" class="prev">问答</a></span> <span class="next"><a href="/pages/6fea40/">MySQL和EE语法对比</a>
</span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:xpc@dromara.com" title="Mail" target="_blank" class="iconfont icon-youjian"></a><a href="https://gitee.com/dromara/easy-es" title="Gitee" target="_blank" class="iconfont icon-gitee"></a><a href="https://github.com/dromara/easy-es" title="GitHub" target="_blank" class="iconfont icon-github"></a></div>
Theme by
<a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
| Copyright © 2022-2022
<span><a href="https://gitee.com/easy-es/">老汉</a>| MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
跟随系统
</li><li class="iconfont icon-rijianmoshi">
浅色模式
</li><li class="iconfont icon-yejianmoshi">
深色模式
</li><li class="iconfont icon-yuedu">
阅读模式
</li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
<script src="/assets/js/app.a043ea6c.js" defer></script><script src="/assets/js/2.b31e9563.js" defer></script><script src="/assets/js/33.c9d3e92a.js" defer></script>
</body>
</html>