花样查询详解

- 模糊匹配

'''

GET index/type/_search

"query":{

    "match":{

        "name": "xxxxxxx信息"

    }

  },

  "_source":["xxxxr字段","yyy字段"],    #结果返回字段

  "sort":[{

      "xxxx字段": {

          "order":"desc"      #降序,使用sort会使得score优先级null

    }

    }],

  "from":numberx,#从第几个数据开始(数据下标从0开始)

  "size":numbery #返多少条数据

# 查询结果字段hit:score分数,加具体文档信息

'''

- 布尔查询

'''

GET index/type/_search


"query":{

  "bool":{

      "must": [

          {

          "match":{

                "name": "xxxxxxx信息"

    },

      "match":{

                "age": "xxxxxxx信息"

    }


# must对应and

# should对应or

# must_not对应非not

'''

- 过滤器

'''

GET index/type/_search


"query":{

  "bool":{

      "must": [

          {

          "match":{

                "name": "xxxxxxx信息"

    }


}],

    "filter":{

    "range":{

      "xxx字段" :{

          "gte":numberx,#大于等于

          "lte":numbery  #小于等于



'''

- query match (多条件使用空格隔开,直接写在语法中)

'''

"query":{

    "match":{

        "name": "xxxxxxx信息  yyyyy信息"

    }

  },

'''

- term精准匹配

- match模糊匹配

- term和match只管传入的查询条件是否分词,比如狂神用match被分词成狂和神两个词进行查询,term不分词就直接用狂神进行查询

- 字符串类型可分为text和keywork类型。keywork类型不可能的被分词,只能成为整体

- term的意思是我们搜索的词条不进行分词,keywork的意思是我们存储的信息不进行分词

- 高亮查询

'''

GET 索引名/类型名/_search

    "query":{

    "match":{

        "name": "xxxxxxx信息"

    }

  },

  "highlight":{

      "filelds":{

        "name":{}

'''

- 以上功能,Mysql也能做,但es效率高

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容