package org.dromara.easyes.core.conditions.function;
import org.dromara.easyes.core.toolkit.FieldUtils;
import org.apache.lucene.search.join.ScoreMode;
import org.elasticsearch.index.query.Operator;
import java.io.Serializable;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.Map;
import java.util.function.BiPredicate;
import static org.dromara.easyes.common.constants.BaseEsConstants.*;
/**
* 比较相关
* <p>
* Copyright © 2021 xpc1024 All Rights Reserved
**/
public interface Compare<Children, R> extends Serializable {
/**
* map 所有非空属性等于 =
*
* @param params map 类型的参数, key 是字段名, value 是字段值
* @param <V> ignore
* @return wrapper
*/
default <V> Children allEq(Map<String, V> params) {
return allEq(true, params);
}
/**
* map 所有非空属性等于 =
*
* @param condition 执行条件
* @param params map 类型的参数, key 是字段名, value 是字段值
* @param <V> ignore
* @return wrapper
*/
<V> Children allEq(boolean condition, Map<String, V> params);
/**
* 字段过滤接口,传入多参数时允许对参数进行过滤
*
* @param filter 返回 true 来允许字段传入比对条件中
* @param params map 类型的参数, key 是字段名, value 是字段值
* @param <V> ignore
* @return wrapper
*/
default <V> Children allEq(BiPredicate<String, V> filter, Map<String, V> params) {
return allEq(true, filter, params);
}
/**
* 字段过滤接口,传入多参数时允许对参数进行过滤
*
* @param condition 执行条件
* @param filter 返回 true 来允许字段传入比对条件中
* @param params map 类型的参数, key 是字段名, value 是字段值
* @param <V> ignore
* @return 泛型
*/
<V> Children allEq(boolean condition, BiPredicate<String, V> filter, Map<String, V> params);
/**
* 等于
*
* @param column 列
* @param val 值
* @return wrapper
*/
default Children eq(R column, Object val) {
return eq(true, column, val);
}
/**
* 等于
*
* @param column 列
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children eq(R column, Object val, Float boost) {
return eq(true, column, val, boost);
}
/**
* 等于
*
* @param condition 执行条件
* @param column 列
* @param val 值
* @return wrapper
*/
default Children eq(boolean condition, R column, Object val) {
return eq(condition, column, val, DEFAULT_BOOST);
}
/**
* 等于
*
* @param column 列名 字符串
* @param val 值
* @return wrapper
*/
default Children eq(String column, Object val) {
return eq(true, column, val);
}
/**
* 等于
*
* @param column 列名 字符串
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children eq(String column, Object val, Float boost) {
return eq(true, column, val, boost);
}
/**
* @param condition 执行条件
* @param column 列名 字符串
* @param val 值
* @return wrapper
*/
default Children eq(boolean condition, String column, Object val) {
return eq(condition, column, val, DEFAULT_BOOST);
}
/**
* 等于
*
* @param condition 执行条件
* @param column 列
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children eq(boolean condition, R column, Object val, Float boost) {
return eq(condition, FieldUtils.getFieldName(column), val, boost);
}
/**
* 等于
*
* @param condition 是否执行的条件
* @param column 列名 字符串
* @param val 值
* @param boost 权重
* @return wrapper
*/
Children eq(boolean condition, String column, Object val, Float boost);
/**
* 分词匹配
*
* @param column 列
* @param val 值
* @return wrapper
*/
default Children match(R column, Object val) {
return match(true, column, val);
}
/**
* 分词匹配
*
* @param column 列
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children match(R column, Object val, Float boost) {
return match(true, column, val, boost);
}
/**
* 分词匹配
*
* @param condition 执行条件
* @param column 列
* @param val 值
* @return wrapper
*/
default Children match(boolean condition, R column, Object val) {
return match(condition, column, val, DEFAULT_BOOST);
}
/**
* 分词匹配
*
* @param column 列名 字符串
* @param val 值
* @return wrapper
*/
default Children match(String column, Object val) {
return match(true, column, val);
}
/**
* 分词匹配
*
* @param column 列名 字符串
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children match(String column, Object val, Float boost) {
return match(true, column, val, boost);
}
/**
* 分词匹配
*
* @param condition 执行条件
* @param column 列名 字符串
* @param val 值
* @return wrapper
*/
default Children match(boolean condition, String column, Object val) {
return match(condition, column, val, DEFAULT_BOOST);
}
/**
* 分词匹配
*
* @param condition 执行条件
* @param column 列
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children match(boolean condition, R column, Object val, Float boost) {
return match(condition, FieldUtils.getFieldName(column), val, boost);
}
/**
* match 分词匹配
*
* @param condition 条件
* @param column 列名 字符串
* @param val 值
* @param boost 权重值
* @return 泛型
*/
Children match(boolean condition, String column, Object val, Float boost);
/**
* 父子类型-根据父查子匹配 返回父文档
*
* @param type 子索引名
* @param column 列名 字符串
* @param val 值
* @return wrapper
*/
default Children hasChild(String type, String column, Object val) {
return hasChild(true, type, column, val, ScoreMode.Avg, DEFAULT_BOOST);
}
/**
* 父子类型-根据父查子匹配 返回父文档
*
* @param type 子索引名
* @param column 列名 字符串
* @param val 值
* @param scoreMode 得分模式
* @return wrapper
*/
default Children hasChild(String type, String column, Object val, ScoreMode scoreMode) {
return hasChild(true, type, column, val, scoreMode, DEFAULT_BOOST);
}
/**
* 父子类型-根据父查子匹配 返回父文档
*
* @param condition 执行条件
* @param type 子索引名
* @param column 列名 字符串
* @param val 值
* @return wrapper
*/
default Children hasChild(boolean condition, String type, String column, Object val) {
return hasChild(condition, type, column, val, ScoreMode.Avg, DEFAULT_BOOST);
}
/**
* 父子类型-根据父查子匹配 返回父文档
*
* @param condition 执行条件
* @param type 子索引名
* @param column 列名 字符串
* @param val 值
* @param boost 权重
* @return wrapper
*/
default Children hasChild(boolean condition, String type, String column, Object val, Float boost) {
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Elasticsearch 国内顶尖elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo等功能...
资源推荐
资源详情
资源评论
收起资源包目录
Easy-Es是一款简化ElasticSearch搜索引擎操作的开源框架,全自动智能索引托管 (757个子文件)
CNAME 11B
CNAME 11B
CNAME 10B
0.styles.ae7757c9.css 162KB
0.styles.6ef972f0.css 162KB
0.styles.71631971.css 162KB
vue.css 12KB
index.css 10KB
spring.factories 361B
.gitignore 318B
index.html 87KB
index.html 65KB
index.html 62KB
index.html 58KB
index.html 58KB
index.html 54KB
index.html 53KB
index.html 48KB
index.html 46KB
index.html 46KB
index.html 42KB
index.html 41KB
index.html 40KB
index.html 38KB
index.html 37KB
index.html 37KB
index.html 37KB
index.html 37KB
index.html 35KB
index.html 35KB
index.html 35KB
index.html 34KB
index.html 33KB
index.html 33KB
index.html 33KB
index.html 31KB
index.html 31KB
index.html 31KB
index.html 30KB
index.html 29KB
index.html 29KB
index.html 29KB
index.html 29KB
index.html 29KB
index.html 29KB
index.html 29KB
index.html 29KB
index.html 27KB
index.html 26KB
index.html 25KB
index.html 24KB
404.html 7KB
index.html 6KB
01.html 2KB
favicon.ico 31KB
org.springframework.boot.autoconfigure.AutoConfiguration.imports 264B
Compare.java 79KB
BaseEsMapperImpl.java 65KB
Func.java 47KB
Geo.java 41KB
IndexUtils.java 39KB
AllTest.java 38KB
AbstractWrapper.java 33KB
EntityInfoHelper.java 32KB
WrapperProcessor.java 30KB
IgnoreTest.java 27KB
AbstractChainWrapper.java 24KB
GeoTest.java 10KB
BaseEsMapper.java 10KB
Index.java 9KB
PerformanceTest.java 9KB
FieldUtils.java 9KB
SelectTest.java 8KB
MixTest.java 8KB
HighTest.java 7KB
EntityInfo.java 7KB
MapperScannerRegister.java 7KB
AutoProcessIndexSmoothlyServiceImpl.java 6KB
BaseEsConstants.java 6KB
IndexTest.java 6KB
LockUtils.java 5KB
Document.java 5KB
EsPageInfo.java 5KB
BaseCache.java 5KB
MapperFactoryBean.java 5KB
EsAutoConfiguration.java 5KB
GlobalConfig.java 5KB
NestedTest.java 5KB
AggTest.java 5KB
JoinTest.java 5KB
InsertTest.java 4KB
Nested.java 4KB
QueryUtils.java 4KB
ClassPathMapperScanner.java 4KB
EntityFieldInfo.java 4KB
AutoProcessIndexNotSmoothlyServiceImpl.java 4KB
Query.java 3KB
ReflectionKit.java 3KB
FieldDataTest.java 3KB
StringUtils.java 3KB
共 757 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6732
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功