================================== 高级查询 ===========================

========== 子条件查询 ===========

_score: 标记匹配程度, 旨在判断目标文档和查询条件匹配的有多好

POST http://127.0.0.1:9200/book/_search
{
"query": {
"match": {
"title": "ElasticSearch入门"
}
}
}
模糊匹配: 会把包含ElasticSearch和入门的关键词的文档数据都查询出来
{
"query": {
"match_phrase": {
"title": "ElasticSearch入门"
}
}
}
习语匹配: 精准查询
{
"query": {
"multi_match": {
"query": "瓦力",
"fileds": ["author", "title"]
}
}
}
multi_match: 多字段模糊匹配查询
author和title: 只要包含瓦力就查询出来 =========== 语法查询 =============
{
"query": {
"query_string": {
"query": "ElasticSearch AND 大法"
}
}
} query_string: 代表语法查询
query: 指定查询内容
查询出同时含有ElasticSearch和大法
{
"query": {
"query_string": {
"query": "(ElasticSearch AND 大法) OR Python"
}
}
}
查询出同时含有ElasticSearch和大法, 或者含有Python的文档
{
"query": {
"query_string": {
"query": "瓦力 OR ElasticSearch",
"fields": ["title", "author"]
}
}
}
利用query_string 查询多个字段
title或者author 包含瓦力或者ElasticSearch 去不查询出来 =========== 结构化查询 =============
{
"query": {
"term": {
"word_count": 1000
}
}
}
term: 具体项
查询出word_count为1000 的文档
{
"query": {
"range": {
"word_count": {
"gte": 1000,
"lte": 2000
}
}
}
}
range: 范围查询
查询出word_count大于等于1000小于等于2000的文档数据
日期也可以比较大小 可以用now关键词 ============= filter 查询 ============ 只判断文档是否满足条件 只有yes活着no
{
"query": {
"bool": {
"filter": {
"term": {
"word_count": 1000
}
}
}
}
}
word_count为1000的文档才会返回
filter: 过滤, es会对结果进行缓存,相对query较快,需要结合bool来使用 ============= 复合条件查询 结合query和filter ============== ============= 固定分数查询 =========
POST http://127.0.0.1:9200/_search
{
"query": {
"match":{
"title":"ElasticSearch"
}
}
}
_score:分数不一样 es回个模糊匹配一个分数 {
"query": {
"constant_score":{
"filter":{
"match":{
"title": "ElasticSearch"
}
}
}
}
}
constant_score: 固定分数查询
刚刚的书籍都出来了, 但是_score都是1
{
"query": {
"constant_score":{
"filter":{
"match":{
"title": "ElasticSearch"
}
},
"boost": 2
}
}
}
boost:指定分数为2, es会做一下缓存 固定分数查询: 不支持match 支持filter ====== bool 查询 ======
{
"query":{
"bool":{
"should": [
{
"match":{
"author": "瓦力"
} },
{
"match":{
"title": "ElasticSearch"
}
}
]
}
}
} should:应当满足,者的关系,只要满足其中一个就可以
{
"query":{
"bool":{
"must": [
{
"match":{
"author": "瓦力"
} },
{
"match":{
"title": "ElasticSearch"
}
}
]
}
}
} must: 必须同时满足才返回
must_not: 排除 {
"query":{
"bool":{
"must": [
{
"match":{
"author": "瓦力"
} },
{
"match":{
"title": "ElasticSearch"
}
}
],
"filter":[
{
"term":{
"word_count": 1000
}
}
]
}
}
}
must filter 综合运用

最新文章

  1. Mono+Jexus让C#运行在Linux(centos7_x64),学习笔记
  2. openssl、x509、crt、cer、key、csr、ssl、tls 这些都是什么鬼?
  3. 无废话SharePoint入门教程五[创建SharePoint页面布局]
  4. python初识第二篇
  5. poj1700
  6. (原创)Windows和Linux间共享文件
  7. python 文件拷贝
  8. Java从零开始学四十六(Junit)
  9. IO流--字符流
  10. 京东校招笔试(C++方向)编程题
  11. table中嵌套table,如何用jquery来控制奇偶行颜色
  12. 【转载】chmod u+s
  13. frame和bounds的区别
  14. hdu5556 Land of Farms
  15. 5G来了,中国移动能力开放平台的NFV,支持面向5G的演进,已经具备初期商用条件!
  16. ExcelPower_Helper插件下载与更新日志
  17. Java基础——关于jar包的知识
  18. aaa配置(第十三组)
  19. hql里面union和union all的区别
  20. C#编程(七十九)---------- 反射

热门文章

  1. pull request的使用
  2. pandas数据排序(series排序 & DataFrame排序)
  3. Ubuntu安装SFTP服务,及启动失败处理
  4. Java内存模型(JMM)的可见性
  5. Spring源码--Bean的管理总结(一)
  6. 安装mod_rpaf让apache获取访客真实IP
  7. H5 图片上传
  8. day03记 angular代码
  9. sqlserver 2012 中的 sysobjects
  10. JavaScript性能优化之小知识总结