文章目录

  • 1. term level查询总结
  • 2. 样例
    • 1 . exists query
    • 2 . fuzzy query
    • 3 . ids query
    • 4 . prefix query
    • 5 . range query
    • 6 . regexp query
    • 7 . term query
    • 8 . terms query
    • 9 . terms_set query
    • 10. type query
    • 11. wildcard query

1. term level查询总结

term level 查询不会再对query进行analysis分词处理,直接将query当做一个一个单词处理

1 . exists query: 这个是针对某个field是否存在的查询,只要被查询doc的该field的值不是null,就会放回对应的doc
2 . fuzzy query: 使用利文斯顿编辑距离来支持模糊查询和近似查询
3 . ids query: 使用多个doc的_id值进行查询
4 . prefix query: 查找有特定prefix的doc
5 . range query: 范围查找
6 . regexp query: 正则表达式查找
7 . term query: 查找某个field包含某个term的doc,不仅能用于keyword,number等类型,测试发现也能够在text类型当中使用
8 . terms query: 查找doc的某个field包含某几个term的doc,该doc的对应的field值需要包含一个或者多个就会被认为命中查询
9 . terms_set query: 查找doc的某个field包含某几个term的doc,该doc的对应的field值需要包含一定数量查询中提供的term_set才会被认为命中查询,这里的一定数量是可以设置的
10. type query: 因为type已经过期了,所以这个查询也过期了
11. wildcard query: 使用模式通配符查询

2. 样例

1 . exists query

GET /_search
{"query": {"exists": {"field": "user"}}
}

2 . fuzzy query

GET /_search
{"query": {"fuzzy": {"user": {"value": "ki"}}}
}GET /_search
{"query": {"fuzzy": {"user": {"value": "ki","fuzziness": "AUTO","max_expansions": 50,"prefix_length": 0,"transpositions": true,"rewrite": "constant_score"}}}
}

3 . ids query

GET /_search
{"query": {"ids" : {"values" : ["1", "4", "100"]}}
}

4 . prefix query

GET /_search
{"query": {"prefix": {"user": {"value": "ki"}}}
}

5 . range query

GET _search
{"query": {"range" : {"age" : {"gte" : 10,"lte" : 20,"boost" : 2.0}}}
}

6 . regexp query

GET /_search
{"query": {"regexp": {"user": {"value": "k.*y","flags" : "ALL","max_determinized_states": 10000,"rewrite": "constant_score"}}}
}

7 . term query

GET /_search
{"query": {"term": {"user": {"value": "Kimchy","boost": 1.0}}}
}

8 . terms query

PUT my_index
{"mappings" : {"properties" : {"color" : { "type" : "keyword" }}}
}PUT my_index/_doc/1
{"color":   ["blue", "green"]
}PUT my_index/_doc/2
{"color":   "blue"
}GET my_index/_search?pretty
{"query": {"terms": {"color" : {"index" : "my_index","id" : "2","path" : "color"}}}
}

9 . terms_set query

这个稍微复杂一些

PUT /job-candidates
{"mappings": {"properties": {"name": {"type": "keyword"},"programming_languages": {"type": "keyword"},"required_matches": {"type": "long"}}}
}PUT /job-candidates/_doc/1?refresh
{"name": "Jane Smith","programming_languages": ["c++", "java"],"required_matches": 2
}PUT /job-candidates/_doc/2?refresh
{"name": "Jason Response","programming_languages": ["java", "php"],"required_matches": 2
}GET /job-candidates/_search
{"query": {"terms_set": {"programming_languages": {"terms": ["c++", "java", "python"],"minimum_should_match_field": "required_matches" # 这个字段等于是动态的}}}
}上面的查询,只有doc 1会被查出来GET /job-candidates/_search
{"query": {"terms_set": {"programming_languages": {"terms": ["c++", "java", "python"],"minimum_should_match_script":{"lang":"painless","source":"2"}}}}
}也可以使用script操作

10. type query


11. wildcard query

GET /_search
{"query": {"wildcard": {"user": {"value": "ki*y","boost": 1.0,"rewrite": "constant_score"}}}
}

对应的如果是 kiy, kity, or kimchy都会被命中

10.term level 查询相关推荐

  1. ElasticSearch 基于 Term 的查询

    Term 的重要性 Term 是表达语音的最小单位,搜索和利用统计语言模型进行自然语言处理都需要处理 Term 特点 Term Level Query : Term Query / Range Que ...

  2. SAP RETAIL 根据Merchandise Category Hierarchy Level查询物料清单

    SAP RETAIL 根据Merchandise Category Hierarchy Level查询物料清单 在SAP RETAIL系统中,我们可以维护Material group(零售系统里称之为 ...

  3. oracle分页查询前10条,Oracle查询前十条记录及分页查询(第5条到第10记录)

    Oracle查询前10条记录及分页查询(第5条到第10记录) 如果你想了解Oracle查询前10条记录的相关实际应用方案的话,你就可以点击以下的文章对其在实际相关操作中的正确用法,有一个更加完善的认识 ...

  4. java term_[ElasticSearch]Java API 之 词条查询(Term Level Query)

    1. 词条查询(Term Query) 词条查询是ElasticSearch的一个简单查询.它仅匹配在给定字段中含有该词条的文档,而且是确切的.未经分析的词条.term 查询 会查找我们设定的准确值. ...

  5. PostgreSQL · 实现分析 · PostgreSQL 10.0 并行查询和外部表的结合

    前言 大家都知道,PostgreSQL 近几大版本中加入了很多 OLAP 相关特性.9.6 的并行扫描应该算最大的相关特性.在今年发布的 10.0 中,并行扫描也在不断加强,新增了并行的索引扫描. 我 ...

  6. ES term terms 查询

    先说结论: term.terms只作用于keyword类型字段,不作用text类型(要使用match查询): term.terms都代表字段全等匹配,意思是搜索词和命中词是完全等匹,不是包含关系: 1 ...

  7. 5.10.1 操作查询之生成表查询

    操作查询用于创建新表或者对现有表中的数据进行修改.一个数据库系统经常需要进行各种数据维护.例如对于教学管理数据库,当一届学生毕业后,不仅需要把这届毕业生的各种数据从现有的教学管理数据库中成批地导出到学 ...

  8. ES text/keyword match/term/模糊查询区别

    字段类型text的时候 首先"name": {"type":"text"}的时候,我们存入一条数据叫 零在金融 id为1 和另一条数据叫 金 ...

  9. ​5.10.5 操作查询之更新查询

    在对数据库进行数据维护时,经常需要成批更新数据.例如,把当前商品的价格降价5个百分点.对于这一类操作最简单.最有效的方法是利用Access提供的更新查询来完成.     例  对罗斯文数据库,把现有订 ...

最新文章

  1. 地址已经被使用——Address already in use(来自《后台开发:核心技术于应用实践》)
  2. 视频图像处理平台对比_对比传统智能结算,戈子视觉结算有了质的改变
  3. learning rate 学习速率
  4. 【渝粤教育】电大中专学前儿童科学教育 (2)作业 题库
  5. 计算机系统操作工 初级,计算机系统操作工国家职业标准
  6. Epub,Mobi,Azw3电子书格式的区别,有什么好用的epub阅读器
  7. 机器码、序列号、认证码、注册码的生成算法(四)
  8. 如何在微信小程序中使用echarts绘制地图(微信小程序制作疫情数据地图)
  9. 石墨烯 量子计算机,带石墨烯的量子计算
  10. vs2017更新出错:The entire Box execution exiting with result code: 0x0
  11. 基于UDP的网络聊天室
  12. maven 本地仓库的配置以及如何修改默认.m2仓库位置
  13. cf显示服务器登录,cf显示与服务器
  14. 满分的一份软件测试工程师简历,凭什么?
  15. 怎么理解anchor?
  16. 阿龙的学习笔记---202107学习
  17. (微信公众号)验证消息的确来自微信服务器
  18. C语言程序设计--二手房信息管理系统
  19. QT QTabWidget 使用
  20. 国产芯片也能玩的666,高性价比ADS8688给你崭新试界

热门文章

  1. 什么时候使用Shell
  2. 【玩转cocos2d-x之三十五】Earth Warrior 3D大揭秘
  3. Mission系统预览
  4. 原创内容屡屡被盗?从源头对资源盗用说NO
  5. 面试官:Spring为什么建议使用构造器来注入?
  6. YouTube测试购物功能、 2021 最值得效力的科技公司榜单、2020 移动应用年度报告等|Decode the Week...
  7. Aupera:FPGA让视频编码与AI结合水到渠成
  8. IPC--三---共享内存
  9. Java基础之代码执行顺序深入解析
  10. 走进5G | 腾讯技术工程5G技术沙龙开启报名啦!