美文网首页
easy-es 查询

easy-es 查询

作者: 程序男保姆 | 来源:发表于2024-04-15 18:23 被阅读0次

分词检索

ES原生 Easy-Es 类型 是否支持分词 描述
term eq keyword类型 完全匹配,查询条件必须都是text分词中的,且不能多余,多个分词时必须连续,顺序不能颠倒。
wildcard like/likeLeft/likeRight 不支持 根据 API 模糊匹配,like全模糊,likeLeft左模糊,likeRight右模糊。
match match text类型 完全匹配,match分词结果和text的分词结果有相同的即可,不考虑顺序。
matchPhrase matchPhrase text类型 完全匹配,matchPhrase的分词结果必须在text字段分词中都包含且顺序必须都相同,而且必须都是连续的。
matchPhrasePrefixQuery matchPhrasePrefixQuery 不支持 matchPhrasePrefix与matchPhrase相同,除了它允许在文本的最后一个词上的前缀匹配。
multiMatchQuery multiMatchQuery text类型 全字段分词匹配,可实现全文检索功能。
queryStringQuery queryStringQuery text类型 完全匹配,queryString中的分词结果至少有一个在text字段的分词结果中,不考虑顺序。
prefixQuery prefixQuery text类型 完全匹配,只要分词后的词条中有词条满足前缀条件即可。

MySQL和Easy-Es语法对照表

MySQL Easy-Es es-DSL/es java api
and and boolQueryBuilder.must(queryBuilder) 计算得分
and filter boolQueryBuilder.filter(queryBuilder) 不计算得分
or or boolQueryBuilder.should(queryBuilder)
! not boolQueryBuilder.mustNot(queryBuilder)
= eq term
> gt QueryBuilders.rangeQuery('es field').gt()
>= ge QueryBuilders.rangeQuery('es field').gte()
< lt QueryBuilders.rangeQuery('es field').lt()
<= le QueryBuilders.rangeQuery('es field').lte()
like '%field%' like QueryBuilders.wildcardQuery(field,value)
not like '%field%' notLike must not wildcardQuery(field,value)
like '%field' likeLeft QueryBuilders.wildcardQuery(field,*value)
like 'field%' likeRight QueryBuilders.wildcardQuery(field,value*)
between between QueryBuilders.rangeQuery('es field').from(xx).to(xx)
is null isNull must not QueryBuilders.existsQuery(field)
in in QueryBuilders.termsQuery(" xx es field", xx)
group by groupBy AggregationBuilders.terms()
order by orderBy fieldSortBuilder.order(ASC/DESC)
min min AggregationBuilders.min
max max AggregationBuilders.max
avg avg AggregationBuilders.avg
sum sum AggregationBuilders.sum
order by xxx asc orderByAsc fieldSortBuilder.order(SortOrder.ASC)
order by xxx desc orderByDesc fieldSortBuilder.order(SortOrder.DESC)
join nested QueryBuilders.nestedQuery()
- match matchQuery
- matchPhrase QueryBuilders.matchPhraseQuery
- matchPrefix QueryBuilders.matchPhrasePrefixQuery
- queryStringQuery QueryBuilders.queryStringQuery
select * matchAllQuery QueryBuilders.matchAllQuery()
- highLight HighlightBuilder.Field
... ... ...

这样的格式更易于阅读和比较,使得每个功能对应的关键字都清晰地列出来。

相关文章

  • 需求查询

    需求查询需求查询需求查询需求查询需求查询需求查询需求查询

  • DML-数据操纵语言

    一、查询 查询指定列 查询所有列 取消相同取值的行 比较查询 多重条件查询 范围查询 集合查询 匹配查询 空值查询...

  • ThinkPHP查询

    查询方式 表达式查询 快捷查询 区间查询 组合查询 统计查询 动态查询 SQL查询 ThikPHP支持原生SQL查...

  • Access查询有哪些

    Access查询有哪些 Access查询分选择查询追加查询更新查询生成表查询交叉表查询联合查询等

  • hibernate中的查询

    HQL 查询所有 条件查询 分页查询 Criteria 查询所有 条件查询 分页查询 查询总记录 原生SQL

  • SQL查询语句1

    复杂查询 = 简单查询 + 限定查询 + 查询排序 + 多表查询 + 分组统计查询 + 子查询。 面对所有的复杂查...

  • mysql数据库中的多表关联查询

    条件查询 查询全部 查询单独信息 条件查询(有范围) 模糊查询 (like) 排序(order by) 查询我们...

  • 11django模型[条件查询]

    字段查询查询mysql数据库日志条件查询1) 查询等2) 模糊查询3) 空查询4) 范围查询5) 比较查询6) 日...

  • Oracel_子查询

    SQL子查询 子查询语法 子查询 (内查询) 在主查询之前一次执行完成。 子查询的结果被主查询(外查询)使用 。 ...

  • mongoose学习笔记

    首先是基础crud操作 查询简单查询条件查询 插入 更新 查询 简单查询 mongoose: 条件查询 (>) 大...

网友评论

      本文标题:easy-es 查询

      本文链接:https://www.haomeiwen.com/subject/rchitjtx.html