es java 查询_Elasticsearch 常用查询和Http请求笔记

创建索引:

PUT /es_test

查询索引

GET /es_test

删除索引

DELETE /es_test

_search 查询

GET /es_test/user/_search

GET /es_test/user/_search?q=name:yawn&age[10 TO 20]&sort=age:desc

GET /es_test/user/_search?q=name:yawn&from=0&size=3

_search DSL查询

GET /index/type/_search

{

"query":{

"term": {

"name": "yawn"

}

}

}

// match支持分词查询

GET /index/type/_search

{

"query":{

"match": {

"name": "yawn"

}

}

}

term与match的区别:

term不会对查询的关键词进行分词,而是进行精确匹配,match会先对关键词进行分词,再查询。

对查询词进行分词:

GET /_analyze

{

"analyzer": "standard",

"text": "奥迪a4l"

}

指定分词器:

GET /_analyze

{

"analyzer": "ik_smart",

"text": "奥迪a4l"

}

_mapping文档映射:

查询映射:

GET /es_test/user/_mapping

GET /es_test/_mapping

动态映射:根据文档的字段,自动映射存储的类型,eg:数值型的会被映射为long;

静态映射:事先定义好映射。

String类型分为text和keyword,其中text类型的字段可以进行分词查询,keyword类型的字段不会进行分词。

自定义文档映射(静态映射):

POST /es_test/_mapping/user

{

"user": {

"properties": {

"name": {

"type" : "string",

"index" : "not_analyzed"

},

"age": {

"type": "integer"

},

"des": {

"type": "text",

"analyzer": "ik_smart",

"search_analyzer": "ik_smart",

}

}

}

}

not_analyzed 表示该字段不会被分析,analyzer 表示需要使用的分词器。

ik分词器有两种分词模式:ik_max_word和ik_smart模式。

1、ik_max_word

会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。

2、ik_smart

会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。

没有更多相关推荐文章.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值