Elasticsearch(DSL)入门操作

QueryString 方式查询 Get请求
查询单个条件
http://192.168.1.200:9200/shop/_search?q=desc:慕课网

多条件查询结果
http://192.168.1.200:9200/shop/_search?q=desc:慕课网&q=age:18

keyword text 类型数据查询 分析
如同有2个字段

数据如下

当我们根据 nickname 查询 会出现如下结果
http://192.168.1.200:9200/shop/_search?q=nickname:super
http://192.168.1.200:9200/shop/_search?q=nickname:hero
两个查询结果相同

在来看看username 查询结果会出现如下

http://192.168.1.200:9200/shop/_search?q=username:super
http://192.168.1.200:9200/shop/_search?q=username:hero

text 数据类型 nickename 会进行倒排索引查询 username 不会 它只会精准查询 比如我们输入 super hero

显示结果如下

在企业当中 QueryString 只是用于 简单的查询不推荐使用
在企业当中使用DSL查询
DSL(Domain Specified Language)领域专用语言。

同上我们要查询 desc 中包含慕课网的信息

如下操作

(post) http://192.168.1.200:9200/shop/_doc/_search
构建 请求body query 标识动作 match 匹配 desc 要查询的字段 查询结果如下图展示
{
"query":{
"match":
{
"desc":"慕课网"
}
}
}

上述实例中 nickname 和 username 区别 基于 DSL查询

查询所有

http://192.168.1.200:9200/shop/_doc/_search
json Body
{
"query":{
"match_all":
{

	}
	 
}

}

查询所有以及特定字段

http://192.168.1.200:9200/shop/_doc/_search
{
"query":{
"match_all":
{
}
},
"_source":["age","id","username"]
}

分页查询 from 从第几条开始 size 分页的条数

http://192.168.1.200:9200/shop/_doc/_search
{
"query":{
"match_all":
{
}
},
"_source":["age","id","username"],
"from":0,
"size":2
}

posted @ 2020-04-13 15:50  fly_jiang  阅读(577)  评论(0编辑  收藏  举报