DSL搜索

作者: 蓝色Hippie | 来源:发表于2020-09-23 06:39 被阅读0次

一、QueryString查询方式

查询[字段]包含[内容]的文档:

索引为shop的desc属性值为慕课网:GET   url/shop/_doc/_search?q=desc:慕课网

                                                           GET   url/shop/_doc/_search?q=nickname:慕&q=age:25

这种查询方式称为QueryString查询方式,参数都是放在url中作为请求参数的

二、DSL搜索

QueryString用的很少,一旦参数复杂就难以构建,所以大多查询使用DSL来进行。

DSL:Domain Specific Language ,特定领域语言,基于JSON格式的数据查询,查询更灵活

1.# 查询

POST    /shop/_doc/_search

{

    "query": {

        "match": {

            "desc": "慕课网"

        }

    }

}

# 判断某个字段是否存在

{

    "query": {

        "exists": {

        "field": "desc"

    }

    }

}

语法格式为一个json object,内容都是key-value键值对,json可以嵌套

key可以是一些es关键字,也可以是某个field字段

2.在索引中查询所有文档

GET  url/shop/_doc/_search

或者

POST  url/shop/_doc/_search

{

    "query": {

        "match_all": {}

    },

    "_source": ["id", "nickname", "age"]

}

3.分页查询

默认查询是10条,可分页展示

4.term/match区别

match会对要搜索的词汇进行分词后检索,而term直接把要搜索的此作为一个整的词去搜索。

terms

5.match_phrash短语匹配

可匹配的语句:武汉大学的学生毕业了,有的希望继续考上研究生。

6.match扩展

operator关键字 mimimum_should_match关键字 根据主键id搜索 多字段搜索

相关文章

  • 44、初识搜索引擎_Query DSL搜索语法

    1、什么是Query DSL 搜索内容在{···}中的就是Query DSL搜索,如: 2、Query DSL的基...

  • DSL搜索

    一、QueryString查询方式 查询[字段]包含[内容]的文档: 索引为shop的desc属性值为慕课网:GE...

  • DSL搜索-高亮

    一、搜索结果高亮显示(添加标签)

  • DSL搜索-扩展

    一、根据前缀去查询 二、模糊搜索 并不是值sql中的模糊查询,而是用户在进行搜索的时候打字错误的现象,搜索引擎会自...

  • DSL搜索-排序

    一、排序 es的排序同sql,可以desc也可以asc,也支持组合排序 1.数值的排序 2.文本的排序 由于文本会...

  • DSL搜索-布尔查询

    一、布尔查询 可以组合多重查询 must: 查询必须匹配搜索条件 should: 查询匹配满足一个条件以上 mus...

  • ES DSL搜索入门

    1 数据准备 1.1 创建索引库 新建一个测试索引库 search_demo 1.2 设置索引的 mapping ...

  • elasticsearch简介

    一、elasticsearch是基于lucene的搜索引擎框架。语言:dsl ELK:elesticSerach,...

  • ElasticSearch 查询语言 DSL

    在 elasticSearch 中,共有两种查询:1. url 搜索 2. DSL查询语言 url 搜索顾名思义,...

  • 4.9-使用SearchTemplate和IndexAlias进

    Search Template – 解耦程序 & 搜索 DSL Elasticsearch 的查询语句 对相关性算...

网友评论

      本文标题:DSL搜索

      本文链接:https://www.haomeiwen.com/subject/jlzrektx.html