对于 类型是 text的字段,并且分析器指明是ik_max_word的会建立倒排索引

查询的分类:

match查询:  会自动转换大小写,会分词,

term查询: 不会转换和分词,只能值匹配

terms查询: 可以给字段值传入数组, 这里有没有分词呢??????????应该和term一样的只会值匹配吧,要不为啥叫terms,待验证

控制查询的数量,  from,和size属性指明,可以用来分页

match_all: 搜索索引下的所有type

match_phrase: 满足分词后的所有词, slop参数, 分词后的最小距离

multi_match: 指明多个字段进行查询,比如两个字段中都进行查询是否有一个值, 并且这里面可以给不同的字段赋予不同的权重 通过^number

查询后返回的字段: stored_fields,它的值是个数组,这里值只会是store为true的字段 ,这样返回的是在 _fields里面,而不是其他的都是在_source里面

查询结果排序:  sort字段和query同级: 值是个数组,数组的元素是个字典,指明排序字段的升序降序,

查询范围: range字段,在query里面, 指明那个字段的范围  gte , great than equal , lte,    boost (权重), 对于时间类,可以使用"now"

模糊查询: wildcard   查询字符段里面有通配符

最重要的match和range

bool查询

包括: must should must_not filter

filter: 过滤数据并且不参与打分

must : 必须全部满足

should: 满足一个就行

must_not: 一个都不能满足

bool是在query下的,然后在四个下面按照query的格式写查询就好了

filter里面最好用term查询,同样多个值查询用terms

对于text进行分词会进行转换,大写变成小写,这个时候如果用terms查询的值是大写,那样也是不匹配的,所以term查询是不是最好用不进行分词的字段

查看分析器的结果: GET _analyze

ik_max_word 分的比较细, ik_smart 比较智能一点,可以这么说

数组和字典

组合查询: 在bool里面的must_not , should,must进行组合

嵌套查询: 直接bool下面的里面再嵌套bool就可以了

过滤空和非空:  bool filter 下面的 exists,, 不存在 must_not 然后exists  

elasticsearch 查询 query的更多相关文章

  1. Elasticsearch(5) --- Query查询和Filter查询

    Elasticsearch(5) --- Query查询和Filter查询 这篇博客主要分为 :Query查询和Filter查询.有关复合查询.聚合查询也会单独写篇博客. 一.概念 1.概念 一个查询 ...

  2. elasticsearch Terms Query 实现类似于sql in查询

    本文demo基于elasticsearch 5.1.1,  项目中使用的还是较早的版本 例如 import com.alibaba.fastjson.JSON; import org.elastics ...

  3. elasticsearch 查询(match和term)

    elasticsearch 查询(match和term) es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL). 由于DSL查询更为直观也更为简 ...

  4. Func<T,T>应用之Elasticsearch查询语句构造器的开发

    前言 之前项目中做Elasticsearch相关开发的时候,虽然借助了第三方的组件PlainElastic.Net,但是由于当时不熟悉用法,而选择了自己拼接查询语句.例如: string queryG ...

  5. Elasticsearch查询

    Elasticsearch支持两种类型的查询:基本查询和复合查询. 基本查询,如词条查询用于查询实际数据. 复合查询,如布尔查询,可以合并多个查询, 然而,这不是全部.除了这两种类型的查询,你还可以用 ...

  6. ElasticSearch 查询语法

    ElasticSearch是基于lucene的开源搜索引擎,它的查询语法关键字跟lucene一样,如下: 分页:from/size 字段:fields 排序:sort 查询:query 过滤:filt ...

  7. ElasticSearch查询 第五篇:布尔查询

    布尔查询是最常用的组合查询,不仅将多个查询条件组合在一起,并且将查询的结果和结果的评分组合在一起.当查询条件是多个表达式的组合时,布尔查询非常有用,实际上,布尔查询把多个子查询组合(combine)成 ...

  8. 利用kibana插件对Elasticsearch查询

    利用kibana插件对Elasticsearch查询 Elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据. 查询分类: 基本查询:使用Elasticsear ...

  9. ElasticSearch查询 第四篇:匹配查询(Match)

    <ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...

随机推荐

  1. 写2个线程,其中一个线程打印1~52,另一个线程打印A~z,打印顺序应该是12A34B45C……5152Z

    我写的 class LN { private int flag = 0; public static char ch = 'A'; public static int n = 1; public sy ...

  2. ActiveMQ(六) 转

    package pfs.y2017.m11.mq.activemq.demo07; import org.apache.activemq.ActiveMQConnectionFactory; impo ...

  3. ViewPagerIndicator 取代TabHost,实现滑动tab,引导页等效果

    https://github.com/eltld/ViewPagerIndicator 取代TabHost,实现滑动tab,引导页等效果

  4. LVM+NBD实现VM数据备份和迁移

    在云系统的高可用性中,VM层的高可用性尤为关键,其中又涉及到了VM本身数据的备份和迁移的问题.在现有的平台上,每一个VM的数据放在一个单独的LV(逻辑卷)上,VM数据的备份可通过备份其所在的LV来完成 ...

  5. LeetCode题解(19)--Remove Nth Node From End of List

    https://leetcode.com/problems/remove-nth-node-from-end-of-list/ 原题: Given a linked list, remove the  ...

  6. UI UISearchBar UISearchDisplayController实现搜索条、解析颜色

    本文转载至 http://blog.sina.com.cn/s/blog_bf2d33bd01017q6l.html @interface ThirdViewController : UIViewCo ...

  7. BZOJ 2244: [SDOI2011]拦截导弹 DP+CDQ分治

    2244: [SDOI2011]拦截导弹 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度.并且能够拦截 ...

  8. All the best open source and Software as a Service (SaaS) tools in one place 工具 工欲善其事必先利其器

    Open Source & SaaS Tools | StackShare https://stackshare.io/categories AfterShip/SaaS: List of S ...

  9. delphi 7中使用idhttp抓取网页 解决假死现象(使用TIdAntiFreezeControl控件)

    在delphi 7中使用idhttp抓取网页,造成窗口无反应的假死状态.通过搜索获得两种方法. 1.写在线程中,但是调用比较麻烦 2.使用delphi 提供的idantifreeze(必须安装indy ...

  10. vue-router-h5-history

    vue-router的HTML5 History 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面. const router = new V ...