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
}