使用term query的弊端

GET books/_search
{"query": {"term": {"title": {"value": "java编程"}}}
}

term query是完全匹配目标内容分词后的词项, 由于所有文档的title进行分词后都没有 ‘java编程’ 这个分词
这个时候就需要使用 match query
使用match query

GET books/_search
{"query": {"match": {"title": "java编程"}}
}

原理: 因为match query会对查询语句中的内容进行分词, 此处为 “Java编程”, 分词之后再与文档中的分词进行比较有匹配到的就返回文档

添加operator进行与或操作

GET books/_search
{"query": {"match": {"title": {"query": "java编程思想","operator": "and"}}}
}

这是and与操作, 含义是必须 match query分词后的所有词项在文档中对应字段所有分词都能包含才返回内容

match_phrase query
match_phrase query 在 match 的基础上加上了, 分词后的顺序必须一致的条件

GET books/_search
{"query": {"match_phrase": {"title": "java编程"}}
}

比如 ‘Java编程’ 分词后为 java 编程, 那么文档中的分词也是要这个顺序

match_phrase_prefix query
match_phrase_prefix 在 match_phrase的基础上加入了最后一个词为term查询

GET books/_search
{"query": {"match_phrase_prefix": {"title": "java 程"}}
}

结果:

分析: 前面java 是进行match_phrase匹配到java, 后面的程是必须匹配到紧接着java的词项以 ‘程’ 开头

ES match query相关推荐

  1. Elasticsearch】 es Match Query

    1.概述 转载并且补充:https://segmentfault.com/a/1190000017110948 2.引言 Match Query 是最常用的 Full Text Query .无论需要 ...

  2. Elasticsearch中的Multi Match Query

    在Elasticsearch全文检索中,我们用的比较多的就是Multi Match Query,其支持对多个字段进行匹配.Elasticsearch支持5种类型的Multi Match,我们一起来深入 ...

  3. Elasticsearch学习---Match query

    前言 Match query可以用于对text.number.date.boolean进行内容匹配,并在匹配前会对查找的内容进行分词分析,按照分词进行匹配,ES为Match query提供了很多参数, ...

  4. ES的Query的DSL语法Filter DSL聚合分析

    1 查询所有(match_all query) GET /lagou-company-index/_search { "query":{ "match_all" ...

  5. android sqlite fts4,FTS4 sqlite MATCH查询不起作用(FTS4 sqlite MATCH query not working)

    FTS4 sqlite MATCH查询不起作用(FTS4 sqlite MATCH query not working) 我有一个外部数据库,我使用sqlite 3版本3.13.0与2表这样. 我创建 ...

  6. Elasticsearch学习---Term query和Match query

    前言 在Elasticsearch中Term query和Match query都可以用来对文档中的数据进行检索,但是在检索结果上会稍有不同,本文通过案例对两者的差异进行说明. 数据准备 建立一个索引 ...

  7. 六:es 的Query DSL

    Elasticsearch提供了基于JSON的完整查询DSL(特定于域的语言)来定义查询.将查询DSL视为查询的AST(抽象语法树),它由两种子句组成: 官网地址 1. Query and filte ...

  8. es match 查询时间段_elasticsearch 笔记二 之基础查询

    这一篇笔记介绍几种 es 的基础查询,非聚合查询. 目录如下: 数据导入 排序查询 es 中的 limit 和offset 匹配字符串 匹配词组 数字精确查找 es 中的或与非 es 中的大小于过滤 ...

  9. es的query及filter

    为什么80%的码农都做不了架构师?>>>    ##query与filter的合并 Queries and filters merged 将filter的api列为deprecate ...

最新文章

  1. itunes备份包括哪些内容_品牌VI设计一般都包括哪些内容?
  2. sql2008安装包_数据库SQL2008下载与安装图文详解
  3. GitHub 贡献第一的微软开源软件列表
  4. python爬虫和八爪鱼哪个快_【后端开发】python爬虫和八爪鱼哪个快
  5. Jenkins环境搭建和部署项目的过程
  6. springboot 实现机器学习_SpringBoot架构浅谈
  7. 编程修养 阅读笔记一
  8. ABAQUS-学习笔记
  9. 带你玩转 3D 检测和分割 (二):核心组件分析之坐标系和 Box
  10. java计算机毕业设计网上拍卖系统源码+系统+数据库+lw文档+mybatis+运行部署
  11. undefinednbsp;methodnbsp;`titl…
  12. Java获取基金接口天天基金_天天基金网数据接口
  13. STM32按键输入控制LED、蜂鸣器
  14. 为什么不推荐用破解版的winrar
  15. 【python】使用tkinter实现计算器程序
  16. 微信小程序: 设置 Button 边框 border
  17. 【经典算法题】Pow(x, n)
  18. FFmpeg视频录制压缩处理走过的坑
  19. Recyclerview多布局
  20. 关于新版税控数据库密码的获取

热门文章

  1. 【DSP开发】gel文件编写
  2. 【Java】工作流框架JBPM
  3. java 实现非极大值抑制
  4. 如何运用VR3d模型线上展示构建博物馆展厅与展馆
  5. 生物老师(搞笑)鼻子和手
  6. 自动化测试 | Selenium自动化测试框架,实战遇到的坑都在这了,玩转自动化测试
  7. linux一分钟关机命令,Linux关机命令集合
  8. php使用addons,think addons教程
  9. Axure RP9基本操作
  10. 用Canvas为网页添加动态背景