命令 | 含义 |
---|---|
PUT | 增加/跟新 |
UPDATE | 改变 |
DELET | 删除 |
GET | 查询 |
POST | 查询/修改 |
HEAD | 改变/删除 |
ElasticSearch | 含义 |
---|---|
Index | 索引,由多个Document组成 |
Type | 索引类型,6.x中仅支持一个,以后将逐渐被移除 |
Document | 文档,由多个Field组成 |
Field | 字段,包括字段名与字段值 |
注:一个索引只能存一个类型
(1)文档是ES最小数据单元
PUT demo.123 //创建索引
GET demo.123 //查看索引
(3)语法
PUT /索引/类型
PUT /索引/类型
{
json串
}
POST /索引/类型/文档编号/_update
{
"doc":{
列名:值------------------------------精准修改其中某个列
}
}
DELETE /索引
#查询所有
GET /索引/类型/_search
#查询编号下所有
GET /索引/类型/编号/_search
#查询所有,返回所有文档
GET /索引/类型/_search
{"query":{
"match_all":{}
}
}
#布尔匹配查询
GET /索引/类型/_search
{"query":{
"match":{json串}
}
}
GET /索引/类型/编号?_source=字段列表
GET /索引/类型/编号?_search?参数(q查询参数,sort排序参数)=字段列表:字段值/排序方向(desc,asc)
#查询记录数
GET /索引/类型/_count
POST /_bulk
{"create":{"_index":索引,"_type":类型,"_id":编号}}--------------------------必须写在同一行
{json串}
{"update":{"_index":索引,"_type":类型,"_id":编号}}
{"doc":{json串}}
{"delete":{"_index":索引,"_type":类型,"_id":编号}}
GET /_mget
{ "docs":[{"_index":索引,"_type":类型,"_id":编号},...]}
(1)分词
GET _analyze
{
"analyzer":"whitespace",
"text":["我要 回家","我要 回家"]
}
GET _analyze
{
"analyzer":"standard",
"text":["我要回家","我要回家"]
}
GET _analyze
{
"analyzer":"ik_smart",
"text":["我要 回家","我要 回家"]
}
(3) 带参数创建索引
PUT demo.1234
{
"settings" : {
"index" : {
"number_of_shards" : 2, ---------------主分片数量默认为5
"number_of_replicas" : 2 ----------------副本数量,默认为1
}
}
}
(4)索引的映射
(5)查看索引映射
GET demo.12345/_mapping
(6) 删除索引
DELETE demo.12345
(7)查询
#match_phrase 模糊查询 ,短语匹配查询
GET def/stu/_search
{
"query":{
"match_phrase":{
"name": "Da"
}
}
}
#短语前缀匹配查询
GET def/stu/_search
{
"query":{
"match_phrase_prefix":{
"name": "D"
}
}
}
#multi_match:多字段匹配查询
GET def/stu/_search
{
"query":{
"multi_match":{
"query": "Da Vinci like music",
"fields": ["name","interest"]
}
}
}
#term:词条查询(必须小写)
GET def/stu/_search
{
"query":{
"term":{
"name":"da"
}
}
}
#terms:多词条查询
GET def/stu/_search
{
"query":{
"terms":{
"interest":["novel","music"]
}
}
}
#range:范围查询
GET def/stu/_search
{
"query":{
"range":{
"gpa": {
"gte": 4.1,
"lte": 4.8
}
}
}
}
#bool:布尔查询
GET /def/stu/_search
{
"query": {
"bool": {
"must": [{"match": { "name": "Da" }},{"match": { "gpa": 4.8 }} ],
"must_not": [ {"match": { "id": "6" }}],
"should": [ {"match_phrase_prefix": { "interest": "music" }},{"match_phrase_prefix": { "interest": "abc" }}],
"minimum_should_match": 1 -----------------should满足的最小数
}
}
}
#from+size浅分页查询
GET def/stu/_search
{
"query":{
"match_all": {}
}
,"size": 2
,"from": 1
}
#scroll深分页查询,3m表示scroll_id3分钟有效
GET def/stu/_search?scroll=3m
{
"query":{
"match_all": {}
}
,"size": 3
,"from": 0
}
GET _search/scroll
{
"scroll_id":"...",
"scroll":"3m"
}
#按条件实现倒排与正排查询
GET /def/stu/_search?sort=id:desc----------------倒排
GET /def/stu/_search?sort=id:asc------------------正排