# 创建索引
put /hotel
{
"mappings":{
"properties" : {
"tilte":{
"type":"text"
},
"city":{
"type":"keyword"
},
"price":{
"type":"double"
}
}
}
}
# 删除索引
DELETE /hotel
创建文档
# 插入文档
POST /hotel/_doc/4
{
"tile":"丰谷酒店",
"city":"浙江杭州",
"price":12.5
}
# 批量插入暂时不会
更新
# 更新文档
POST /hotel/_update/1
{"doc":{
"city" : "浙江义乌",
"price" : 12.53
}
}
搜索文档
# 根据ID搜索
GET /hotel/_doc/330
{
"query": {
"match_all": {}
}
}
# 全文搜索
GET /hotel/_search
{
"query": {
"match_all": {}
}
}
# 根据字段搜索
GET /hotel/_search
{
"query": {
"match": {"client" : 2}
}
}
# 多子句搜索
{
"bool": {
"must": { "match": { "tweet": "elasticsearch" }},
"must_not": { "match": { "name": "mary" }},
"should": { "match": { "tweet": "full text" }}
}
}
# 范围过滤
GET /book/_search
{
"query": {
"range": {
"price": {
"gte": 1,
"lte": 20
}
}
}
}
参考文档
Elasticsearch权威指南中文版
代码
主分片 副分片: 每个文档都是存在一个分片中,副分片来自于主分片,这样设计主要是为了提高可用性(具体参考elasticsearch技术解 page8析与实战)



