# 创建索引
PUT /phone?pretty
# 查询索引 展示所有索引信息 以及健康状态
GET _cat/indices
#删除索引
DELETE /phone
# 信息查询
GET /phone/_search
# 更新
POST /phone/_doc/1/_update
{
"doc": {
"price": 6999
}
}
# 插入数据
POST /phone/_doc/1
{
"name":"iphone",
"desc":"quan shi jie zui hao de shou ji",
"price":5299,
"tags":["IOS","Apple","Siri"]
}
POST /phone/_doc/2
{
"name":"Samsung",
"desc":"anzhuo jihuang",
"price":49999,
"tags":["Android","NFC","fangshui"]
}
POST /phone/_doc/3
{
"name":"XiaoMi",
"desc":"anzhuo jihuang",
"price":1999,
"tags":["Android","NFC","fangshui","xingjiabi"]
}
POST /phone/_doc/4
{
"name":"HuaWei",
"desc":"anzhuo jihuang",
"price":7999,
"tags":["Android","NFC","fangshui","aiguo"]
}
# 分页查询 以及 排序
GET /phone/_search?from=0&size=2&sort=price:desc
# Query DSL
# match All 匹配所有
GET /phone/_search
{
"query": {
"match_all": {}
}
}
# match 条件匹配 匹配名字带Iphone
GET /phone/_search
{
"query": {
"match": {
"name": "Iphone"
}
}
}
# sort 排序
GET /phone/_search
{
"query":{
"match": {
"tags": "android"
}
},
"sort": [
{
"price": "desc"
}
]
}
# 指定列查询
GET /phone/_search
{
"query": {
"multi_match": {
"query": "Samsung",
"fields": ["name"]
}
}
}
# 查询指定列
GET /phone/_search
{
"query": {
"match": {
"name": "iphone"
}
},"_source": ["name"]
}
# 分页 页数太多会产生深查询问题
GET /phone/_search
{
"query": {
"match": {
"desc": "jihuang NFC"
}
},"from": 0,"size": 2
}
# term 查询 对value并没有进行分词 所以查不出来数据
GET /phone/_search
{
"query": {
"term": {
"desc": {
"value": "jihuang NFC"
}
}
}
}
# match_phrase 查询条件进行短语查询 不分词
GET /phone/_search
{
"query": {
"match_phrase": {
"desc": "jihuang NFC"
}
}
}
# must filter should must_not minimum_shouuld_match
GET /phone/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"desc": "jihuang"
}
},{
"match": {
"tags": "xingjiabi"
}
}
]
}
}
}
# filter 查询 条件过滤查询 不计算相关分数 并且带有缓存
GET /phone/_search
{
"query": {
"bool": {
"filter": [
{
"range": {
"price": {
"gte": 10000
}
}
}
]
}
}
}
# should 相当于SQL中的 or
GET /phone/_search
{
"query": {
"bool": {
"must": [
{"match": {
"name": "iphone"
}}
],
"should": [
{
"match": {
"desc": "anzhuo"
}
}
]
}
}
}
# must_noe 必须不满足筛选条件 并且不计算相关度
GET /phone/_search
{
"query": {
"bool": {
"must_not": [
{
"match": {
"name": "iphone"
}
}
]
}
}
}