Elasticsearch基础部分笔记

2021-06-24  本文已影响0人  心似南风

文档的CRUD

命令 示例
Index PUT my_index/_doc/1
{"user":"mike", "comment":"You know,for search"}
Create PUT my_index/_create/1
{"user":"mike","comment":"You know, for search"}
POST my_index/_doc (不指定ID, 自动生成)
{"user":"mike", "comment":"You know, for search"}
Read GET my_index/_doc/1
Update POST my_index/_update/1
{"doc":{"user":"mike", "comment":"You know, Elasticsearch"}}
Delete DELETE my_index/_doc/1

Bulk API

POST _bulk
{"index":{"_index":"test","_id":"1"}}
{"field1":"value1"}
{"delete":{"_index":"test","_id":"2"}}
{"create":{"_index":"test2","_id":"3"}}
{"field1":"value3"}
{"update":{"_id":"1","_index":"test"}}
{"doc":{"field2":"value2"}}

批量读取 - mget

批量操作,可以减少网络连接所产生的开销,提高性能

GET _mget
{
  "docs":[
    {
      "_index" : "user",
      "_id":1
    },
    {
      "_index":"comment",
      "_id":1
    }]
}

批量查询 - msearch

POST users/_msearch
{}
{"query":{"match_all":{}}, "from":0,"size":10}
{}
{"query":{"match_all":{}}}
{"index":"twitter2"}
{"query":{"match_all":{}}}

常见错误返回
429:集群过于繁忙
4xx:请求体格式有错
500:集群内部错误

正排索引和倒排索引

正排

文档 文档内容
1 Mastering
Elasticsearch
2 Elasticsearch
Server
3 Elasticsearch
Essentials

倒排

Term Count DocumentID:Position
Elasticsearch 3 1:1, 2:0, 3:0
Mastering 1 1:0
Server 1 2:1
Essentials 1 3:1
文档ID 文档内容
1 Mastering Elasticsearch
2 Elasticsearch Server
3 Elasticsearch Essentials
Doc ID TF Position Offset
1 1 1 <10,23>
2 1 0 <0,13>
3 1 0 <0,13>

Analysis 与 Analyzer 分词器

内容 分词后
Elasticsearch Server elasticsearch
server

Analyzer的组成

例如:Mastering Elasticsearch & Elasticsearch in Action

  1. Character Filters
  2. Tokenizer
  3. Token Filters
  4. 经过前三步骤:master elasticsearch action

Elasticsearch的内置分词器

* 使用_analyzer API
GET /_analyze
{
  "analyzer":"standard",
  "text":"A B, C D E",
}

POST books/_analyze
{
  "field":"title",
  "text":"Mastering Elasticsearch"
}

POST /_analyze
{
  "tokenizer":"standard",
  "filter":["lowercase"],
  "text":"Mastering Elasticsearch"
}

中文分词

上一篇下一篇

猜你喜欢

热点阅读