1、query string search

2、query DSL

3、query filter

4、full-text search

5、phrase search

6、highlight search

GET /ecommerce/product/_search

   可以查询出当前索引下这个类型的所有数据,

    

  took 本次搜索耗费的时间:毫秒

  timed_out:是否超时,这里是没有

  —shards 分片所以对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以)

hits

total 查询到的是2个document

max_score :搜索时候的相关性匹配分数

qi

其实这种方式主要是采用的是get的url拼接类似!

2、query DSL

DSL 意思是特殊领域的查询语言:Domain Specified Language,

请求体可以是JSON格式的:

查询包含yagao,且按照价格排序

GET /ecommerce/product/_search
{
  "query": {
    "match": {
      "name": "yagao"
    }
  },"sort": [
    {
      "price": {
        "order": "asc"
      }
    }
  ]
}

分页查询商品每一页显示1条数据,显示第2页:

GET /ecommerce/product/_search
{
  "query": {
    "match_all": {}
  },
  "from": 1
  , "size": 1
}

只查询出来商品的名称和价格就可以:

GET /ecommerce/product/_search
{
 "query": { "match_all": {} },
  "_source": ["name", "price"]
 
}

非常适合生产环境。

3、query filter  相当于查询时候进行过滤了

查询包含牙膏的,并且价格大于21的

GET /ecommerce/product/_search
{
 "query" : {
        "bool" : {
            "must" : {
                "match" : {
                    "name" : "yagao"
                }
            },
            "filter" : {
                "range" : {
                    "price" : { "gt" : 21 }
                }
            }
        }
    }
}

4、full-text search  全文检索

GET /ecommerce/product/_search
{
  "query": {
    "match": {
      "producer": "zhonghua"
    }
  }
}

5、phrase search  短词搜索

注意:这个搜索时精确的搜索,不会对查询的词进行拆分,类似于不会模糊查询然会返回

但是和全文搜索相反,全文搜索或在把查询的参数进行拆分,再去倒排索引上进行查询!

GET /ecommerce/product/_search
{
  "query": {
    "match_phrase": {
      "producer": "produce"
    }
   
  }
}

6、highlight search  高亮搜索

总结下这6中搜索:

第一种url拼接形式的搜索,实战中用的少

第二种搜索:DSL 搜索  相对第一种搜索已经很大的提高,采用JSON格式参数进行搜索

第三种:过滤搜索

第四种:全文搜索,还是很有用的

第五种:短词精确搜索

第6个是高亮,在做检索时候还是很有用的

坚持才是进步的开始!

  

  

最新文章

  1. thinkPHP 标题
  2. 谷歌Cartographer学习(1)-快速安装测试
  3. 测试-ConstantForce的驱动方式以及是否穿透
  4. 卷积神经网络(CNN)
  5. 【ACM】魔方十一题
  6. Adobe Edge Animate –可重复使用的个性化按钮制作
  7. cpan安装及其使用
  8. html中的rowspan和colspan
  9. [UWP]了解模板化控件(1):基础知识
  10. 创建一个可用的简单的SpringMVC项目,图文并茂
  11. Django学习-8-模板渲染的一些特性
  12. 数据结构基础(21) --DFS与BFS
  13. PHP变量的定义与相应的数据类型
  14. yii2.0 路由美化以及自定义设置
  15. ES6中6种声明变量的方法
  16. hbase的api操作之scan
  17. this is incompatible with sql_mode=only_full_group_by
  18. NEST - 编写查询
  19. Spring获取bean工具类,可用于在线程里面获取bean
  20. 从逻辑思维中学习CSS,从宽高说起

热门文章

  1. 【Hadoop】如何形象描述大数据生态?
  2. 【重点突破】—— Easy Mock的使用及Mock.js规范
  3. 转: 由socket的accept说开去
  4. Elasticsearch教程(八) elasticsearch delete 删除数据(Java)
  5. Nodejs 模拟telnet
  6. JVM源码分析之FinalReference完全解读
  7. JavaScript target与currentTarget区别
  8. LeetCode题目:Best Time to Buy and Sell Stock
  9. [转载]Error -27796: Failed to connect to server
  10. Java-帮助文档的制作