ealsticsearch多种搜索方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ealsticsearch多种搜索方式相关的知识,希望对你有一定的参考价值。

增加
PUT /ecommerce/product/1
 "name":"gaolujie yagao",
   "desc":"gaoxiao meibai",
   "price":30,
   "producer":"gaolujie producer",
   "tags":["meibai","fangzhu"]

PUT /ecommerce/product/2
 "name":"jiajieshi yagao",
   "desc":"gaoxiao fangzhu",
   "price":25,
   "producer":"jiajieshi producer",
   "tags":["fangzhu"]

PUT /ecommerce/product/3
 "name":"zhonghua yagao",
   "desc":"caoben zhiwu",
   "price":40,
   "producer":"zhonghua producer",
   "tags":["qingxin"]

查询

GET /ecommerce/product/1

修改

PUT /ecommerce/product/1
 "name":"jiaqianban gaolujie yagao",
   "desc":"gaoxiao meibai",
   "price":30,
   "producer":"gaolujie producer",
   "tags":["meibai","fangzhu"]

这不是修改

PUT /ecommerce/product/1
 "name":"jiaqianban gaolujie yagao"

修改

POST  /ecommerce/product/1/_update
 
  "doc":
  "name":"gaolujie yagao"
  

删除

DELETE /ecommerce/product/1

query string search

GET /ecommerce/product/_search
GET /ecommerce/product/_search?q=name:yagao&sort=price:desc

DSL

查询所有的数据

GET /ecommerce/product/_search

   "query": 
     "match_all": 
   

排序

GET /ecommerce/product/_search

   "query": 
     "match": 
       "name":"yagao"
     
   ,

   "sort": [
     
       "price": 
         "order": "desc"
       
     
   ]

分页

GET /ecommerce/product/_search

  "query": 

    "match_all": 
  ,
  "from": 0,
  "size":1

查询指定的列

GET /ecommerce/product/_search


  "query": 

    "match_all": 
  
  ,
  "_source": ["name","price"]

对数据进行过滤


GET /ecommerce/product/_search

  "query": 

    "bool": 
      "must": [
        "match": 
          "name": "yagao"
        ]
      ,
      "filter": 
        "range": 
          "price": 
            "gt": 25,
            "lt": 50
          
        
      
    
  

全文检索,会拆解搜索


PUT /ecommerce/product/5
 "name":"special yagao",
   "desc":"special meibai",
   "price":50,
   "producer":"special yagao producer",
   "tags":["meibai"]


GET /ecommerce/product/_search


  "query": 

    "match": 
      "producer": "yagao producer"
    
  

短语搜索,不拆解,完全包含短语

GET /ecommerce/product/_search


  "query": 

    "match_phrase": 
      "producer": "yagao producer"
    
  

高亮


GET /ecommerce/product/_search

  "query": 

    "match": 
      "producer": "producer"
    
  
  ,

  "highlight": 
    "fields": 
      "producer":
    
  


以上是关于ealsticsearch多种搜索方式的主要内容,如果未能解决你的问题,请参考以下文章

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

Elasticsearch学习之多种查询方式

ElasticSearch模板搜索API

搜索多种内容类型

基于多种转换语义的图数据库查询

使用 MPMediaPropertyPredicate 搜索多种类型