当前位置:   article > 正文

Elastsearch 基本查询_elatissearch 命令

elatissearch 命令

Elastsearch 基本查询

Elasticsearch是功能非常强大的全文搜索引擎,使用elasticsearch的目的是能够快速的查询到想要的数据。

基本查询:利用Elasticsearch内置查询条件进行查询

组合查询:把多个基本查询组合在一起的复合性查询

过滤:查询时,通过filter条件再不影响打分的情况下筛选出想要的数据

term,terms查询
from,size
返回版本号_version
match查询
升序降序
prefix前缀匹配查询
range范围查询
wildcard通配符查询
fuzzy模糊查询
more_like_this&more_like_this_field查询

#chakanceshishuju查看测试数据
GET /library/books/_mget
{
  "ids":["1","2","3","4","5","6","7","8"]
}

#查看library的mapping信息
GET /library/_mapping

#查看shakespeare的mapping信息 
GET /shakespeare/_mapping

#---------------------------------
#简单的查询

#指定index名以及type名de的搜索
GET /library/books/_search?q=title:elasticsearch

#指定index名没有type名的搜索   
GET /library/_search?q=title:mongodb

#既没有index又没有type名的搜索
GET /_search?q=title:elasticsearch

#---------------------------------------
#term查询
GET /library/books/_search
{
  "query":{
    "term": {
      "preview": ["ealsticsearch","book"],
      "minmum_match": 1
    }
  }
}

#--------------------------------------------
#控制查询返回的数量 

#from 和 size
#相当于mysql中的 limit
#from:从哪一个结果开始返回
#size:定义返回的最大结果数 
GET /library/books/_search?q=title:elasticsearch

GET /library/books/_search
{
  "from":1,
  "size":2,
  "query":{
    "term": {
      "title":"elasticsearch"
    }
  }
}

#-------------------------------------------------
#

#返回版本号 _version

GET /library/books/_search
{
  "version":true
  "query": {
    "term": {
      "preview":"elasticsearch"
    }
  }
}

#----------------------------------------------------
#match查询 
#match查询可接受文字 ,数字 ,日期等数据类型 
#match跟term的区别是:match查询的时候,elasticsearch会根据你给定的字段提供合适的分析器 ,而term查询不会有分析器分析的过程      
GET /library/books/_search
{
  "query":{
    "match": {
      "perview":"elasticsearch"
    }
  }
}


GET /library/books/_search
{
  "query":{
    "match":{
      "price":11
    }
  }
}

#通过 match_all查询 
#chaxun查询指定索引下的所有文档 
GET /library/books/_search
{
  "query":{
    "match_all": {}
  }
}

#通过 match_phrase查询 
#短语查询 ,slop定义的是关键词之间间隔 多少未知单词
GET /library/books/_search
{
  "query":{
    "match_phrase":{
      "preview":{
        "query":"Elasticsearch ,distributed",
        "slop":2
      }
    }
  }
}

#multi_match查询 
#可以指定多个字段 
#比如查 titlehe和 preview这两个字段里都包含Elasticsearch关键词的文档 
GET /library/books/_search
{
  "query":{
    "multi_match":{
      "query":"Elasticsearch",
      "fields":["title","perview"]
    }
  }
}

#-------------------------------------------------
#

#指定返回的字段 
#注意只能返回 store为 yes的字段 
GET /library/books/_search
{
  "fields":["preview"],
  "query":{
    "match":{
      "perview":"elasticsearch"
    }
  }
}


#通过 partial_fields控制加载的字段 
GET /library/books/_search
{
  "partial_fields": {
    "partial":{
      "include": ["preview"],
      "exclude":["title,price"]

    }

  },
    "query":{
      "match_all": {}
  }
}


#还能加通配符  *
GET /library/books/_search
{
  "partial_fields": {
    "partial":{
      "include":["pr*"]
      "exclude":["tit*"]
    }
  },
  "query":{
    "match_all": {}
  }
}


#----------------------------------------------------
#paixu排序 

#通过 sort把结果排序 
#desc 降序 
#asc 升序
GET /library/books/_search
{
  "query":{
    "match_all": {}
  },
  "sort":[
    {
      "price":{
        "order":"desc"
      }
    }
  ]
}

GET /library/books/_search
{
  "query":{
    "match_all": {}
  },
  "sort":[
    {
      "price": {
        "order": "asc"
      }
    }
  ]
}


#------------------------------------------------
#控制范围 
#range 查询:范围查询 
#有 from,to, include_lower,include_upper,boost等参数 #include_lower:是否包含范围的左边界 ,默认是 true
#include_upper:是否包含范围的右边界 ,默认是 true
GET /library/books/_search
{
  "query":{
    "range": {
      "publish_data": {
        "from": "2017-1-1",
        "to": "2017-12-29"
      }
    }
  }
}


GET /library/books/_search
{
  "query": {
    "range": {
      "price": {
        "from": 10,
        "to": 300,
        "include_lower":true,
        "include_upper":false
      }
    }
  }
}

#--------------------------------------------------
#
#wildcard查询 :允许你使用通配符 *和 ?来来进行查询 
# *就就代表一个或多个字符 
# ?仅代表一个字符 
#注意 :这个这个查询很影响性能 
GET /library/books/_search
{
  "query": {
    "wildcard": {
      "preview": "rab*"
    }
  }
}

GET /library/books/_search
{
  "query": {
    "wildcard": {
      "preview": "luc?ne"
    }
  }
}

#--------------------------------------------------
#--------------------------------------------------
#模糊查询 
#value:查询的关键字 
#boost:设置查询的设置查询的权值 ,默认是 1.0
#min_similarity:设置匹配的最小相似度 
#默认值为0.5;对于字符串,取值0-1(包含0和1);对于数值,取值可能大于1;对于日期型,取值为1d,2d,1m这样,1d就代表一天。
#prefix_length:指明区分词项的共同前缀长度,默认是0
#max_expansions:指明查询中的词项可扩展的数目,默认可以无限大。

GET /library/books/_search
{
  "query": {
    "fuzzy": {
      "preview":"rabit"
    }
  }
}

GET /library/books/_search
{
  "query": {
    "fuzzy": {
      "preview": {
        "value": "rabit",
        "min_similarity": 0.5
      }
    }
  }
}

# fuzzy_like_this 查询
# 查询得到与给定内容相似的所有文档
# fileds:字段组,默认是_all
# like_text:设置关键词
# ignore_tf:设置忽略词项的频次,默认是false
# max_query_terns:指明在生成的查询中查询词项的最大数目,默认是25
#min_similarity:指明区分词项最小的相似度,默认是0.5
# perfix_length:指明区分词项共同前缀的长度,默认是0
# boost:设置权值,默认是1.0
# analyze:指明用于分析给定内容的分析器
GET /library/books/_search
{
  "query": {
    "fuzzy_like_this":{
      "fields":["preview"],
      "like_text":"open source software",
      "min_similarity":0.5,
      "prefix_length":0.2
    }
  }
}

# fuzzy_like_this_field 查询
# 制作用在一个字段里
# 其他与fuzzy_like_this功能一样
GET /library/books/_search
{
  "query": {
    "fuzzy_like_this_field": {
      "preview": {
        "like_text": "open source software",
        "min_similarity": 0.5,
        "prefix_length": 0.2
      }
    }
  }
}

#--------------------------------------------------
# more_like_this 查询 

# fields:定义字段组,默认是_all
# like_text:定义要查询的关键词
# percent_terms_to_match:该参数指明一个文档必须匹配多大比例的词项才能被视为相似,默认值是:0.3,意思是30%的比例
# min_terms_freq:该参数指明在生成的查询中查询词项的最大数目,默认是:25
# stop_words:该参数指明将被忽略的单词集合
# min_doc_freq:该参数指明词项应至少在多少个文档中出现才不会被忽略,默认是:5
# max_doc_freq:该参数指明出现词项的最大数目,以避免词项被忽略,默认是无限大
# min_word_len:该参数指明单个单词的最小长度,低于该值的单词将被忽略,默认值是0
# max_word_len:该参数指明单个单词的最大长度,高于该值的单词将被忽略,默认是无限大
# boost_terms:该参数指明提升一个查询的权值,默认是:1.0
# analyer:该参数指明指定用于分析的分析器


GET /library/books/_search
{
  "query": {
    "more_like_this":{
      "fields": ["preview"],
      "like_text":"Apache open source",
      "min_term_freq":1,
      "min_doc_freq":1
    }
  }
}

# more_like_this_field 查询
# 只作用在一个字段里
# 其他与more_like_this功能一样
GET /library/books/_search
{
  "query": {
    "more_like_this_field": {
      "preview": {
        "like_text": "text like this one",
        "min_term_freq": 1,
        "max_query_terms": 12
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/543415
推荐阅读
相关标签
  

闽ICP备14008679号