ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Elasticsearch 顶尖高手(4)--快速入门案例实战:多种搜索方式(二)

2019-09-14 11:56:15  阅读:206  来源: 互联网

标签:product 顶尖高手 入门 GET yagao search Elasticsearch query ecommerce


1.query string search

      GET /ecommerce/product/_search

image

took:耗费了几毫秒

timeout:是否超时

_shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个relica shard也可以)

hist.total:查询结果的数量,4个total

max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也越高

hits.hits:包含了匹配搜索的document的详细数据


搜索商品名称中包含yagao的商品,而且按照售价降序排序:GET /ecommerce/product/_search?q=name:yagao&sort=price:desc

image

适用于临时的在命令行使用一些工具,比如curl,快读的发出请求,来检索想要的信息。但是如果查询请求很复杂,是很难去构建的,在生产环境中,几乎很少使用query string search


2.query DSL

     DSL:  Domain Specified  Language  特定领域的语言

     http request body :请求体,可以用json的格式来构建查询语法,比较方便,可以构建各种复杂的语法,比query string search 更加强大

查询所有商品

GET /ecommerce/product/_search

{

      “query”:{“match_all”:{}}

}

查询名称包含yagao 的商品,同时按照价格降序排序

GET /ecommerce/product/_search

{

     “query”:{

            “match”:{

                   “name”:”yagao”

            }

      },

      “sort”:[

              {“price”:”desc”}

       ]

}

分页查询商品,总共3条商品,假设每页就显示1条商品, 现在显示第二页,所以就查出第二个商品

GET /ecommerce/product/_search

{

       “query”:{“match_all”:{}},

       “from”:1,

       “size”:2

}

image

指定要查询出来商品的名称和价格

GET /ecommerce/product/_search

{

     “query”:{“match_all”:{}},

     “_source”:[“name”,”price”]

}

image

3.query filter(对数据进行过滤)

搜索商品名称包含yagao,而且售价大于25元的商品

GET /ecommerce/product/_search

{

     “query”:{

             “bool”:{

                    “must”:[

                           {“match”:{“name”:”yagao”}}

                     ]

             },

             “filter”:{

                    “range”:{

                             “price”:{

                                    “gt”:25

                              }

                      }

              }

     }

}

image

4.full-test search(全文检索)

GET /ecommerce/product/_search

{

      “query”:{

             “match”:{

                   “product”:”yagao producer”

             }

       }

}

image

标签:product,顶尖高手,入门,GET,yagao,search,Elasticsearch,query,ecommerce
来源: https://www.cnblogs.com/Mr-WangYue/p/11518715.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有