专业的编程技术博客社区

网站首页 > 博客文章 正文

elasticsearch 操作实例技巧(六)(elasticsearch mysql数据同步)

baijin 2024-08-10 13:34:23 博客文章 25 ℃ 0 评论

elasticsearch 操作实例技巧(六)

1.查看健康状态

详细内容

curl '192.168.211.155:9200/_cat/health?v'

简单列表

curl '192.168.211.155:9200/_cat/health'

状态:

绿色:所有功能正常

黄色:部分副本未分配,但功能正常

红色: 部分数据不可用,小部分功能可用,但数据存在丢失情况


2.列出节点

curl '192.168.211.155:9200/_cat/nodes?v'


3.列出索引

curl '192.168.211.155:9200/_cat/indices?v'


4.创建索引

curl -XPUT '192.168.211.155:9200/customer?pretty'

{

"acknowledged" : true

}


5.创建文档

#index customer

#type external

#document id 1 content "name:John doe"

curl -XPUT '192.168.211.155:9200/customer/external/2?pretty' -d '

{

"name": "John Doe"

}'

{

"_index" : "customer",

"_type" : "external",

"_id" : "1",

"_version" : 1,

"_shards" : {

"total" : 2,

"successful" : 1,

"failed" : 0

},

"created" : true

}

curl -XPUT '192.168.211.155:9200/customer/external/1?pretty' -d '

{

"name": "John Doe"

}'

Post方式不带ID值

curl -XPOST '192.168.211.155:9200/customer/external?pretty' -d '

{

"name": "Jane Doe"

}'


6.查看文档信息

curl -XGET '192.168.211.155:9200/customer/external/1?pretty'

{

"_index" : "customer",

"_type" : "external",

"_id" : "1",

"_version" : 1,

"found" : true,

"_source" : {

"name" : "John Doe"

}

}


6.删除索引

curl -XDELETE '192.168.211.155:9200/customer?pretty'

{

"acknowledged" : true

}

curl '192.168.211.155:9200/_cat/indices?v'

curl -X<REST Verb><Node>:<Port>/<Index>/<Type>/<ID>


7.查看指定索引

curl '192.168.211.155:9200/customer?pretty'


8.更新文档

curl -XPOST '192.168.211.155:9200/customer/external/1/_update?pretty' -d '

{

"doc": { "name": "Jane Doe" }

}'


9.更新的方式,添加字段

curl -XPOST '192.168.211.155:9200/customer/external/1/_update?pretty' -d '

{

"doc": { "name": "Jane Doe", "age": 20 }

}'

查看文档:

curl -XGET '192.168.211.155:9200/customer/external/1?pretty'


10.删除文档

curl -XDELETE '192.168.211.155:9200/customer/external/2?pretty'


11.批量处理

curl -XPOST '192.168.211.155:9200/customer/external/_bulk?pretty' -d '

{"index":{"_id":"1"}}

{"name": "John Doe" }

{"index":{"_id":"2"}}

{"name": "Jane Doe" }

'

更新文档ID 为1 ,删除文档ID为 2

curl -XPOST '192.168.211.155:9200/customer/external/_bulk?pretty' -d '

{"update":{"_id":"1"}}

{"doc": { "name": "John Doe becomes Jane Doe" } }

{"delete":{"_id":"2"}}

'


12.批量导入json数据

本地的accounts.json数据包

curl -XPOST '192.168.211.155:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"

查看索引

curl '192.168.211.155:9200/_cat/indices?v'


13.搜索索引文档

curl '192.168.211.155:9200/bank/_search?q=*&pretty'

q=*,搜索所有文档

tooks, 毫秒

body 方式

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match_all": {} }

}'

多条件查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match_all": {} },

"size": 1

}'

查询11 - 20 条文档记录

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match_all": {} },

"from": 10,

"size": 10

}'

from : 从第几条开始,默认是0

size: 查询条数,类似 limit

排序查询,默认返回10条记录

curl -XPOST ‘192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match_all": {} },

"sort": { "balance": { "order": "desc" } }

}'

按balance 降序排序


14.查询指定字段内容

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match_all": {} },

"_source": ["account_number", "balance"]

}'

查询文档中 account_number,balance字段


15.字段匹配查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match": { "account_number": 20 } }

}'

模糊查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match": { "address": "mill" } }

}'

或查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": { "match": { "address": "mill lane" } }

}'

与查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": {

"bool": {

"must": [

{ "match": { "address": "mill" } },

{ "match": { "address": "lane" } }

]

}

}

}'

非查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": {

"bool": {

"must_not": [

{ "match": { "address": "mill" } },

{ "match": { "address": "lane" } }

]

}

}

}'

组合查询

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": {

"bool": {

"must": [

{ "match": { "age": "40" } }

],

"must_not": [

{ "match": { "state": "ID" } }

]

}

}

}'

范围过滤

curl -XPOST '192.168.211.155:9200/bank/_search?pretty' -d '

{

"query": {

"bool": {

"must": { "match_all": {} },

"filter": {

"range": {

"balance": {

"gte": 20000,

"lte": 30000

}

}

}

}

}

}'

#只显示source数据

GET /hkqj/employee/1/_source

POST /_bulk { "delete": { "_index": "website", "_type": "blog", "_id": "123" }} <1> { "create": { "_index": "website", "_type": "blog", "_id": "123" }} { "title": "My first blog post" } { "index": { "_index": "website", "_type": "blog" }} { "title": "My second blog post" } { "update": { "_index": "website", "_type": "blog", "_id": "123", "_retry_on_conflict" : 3} } { "doc" : {"title" : "My updated blog post"} } <2>



概念

解释

映射(Mapping)

数据在每个字段中的解释说明

分析(Analysis)

全文是如何处理的可以被搜索的

领域特定语言查询(Query DSL)

Elasticsearch使用的灵活的、强大的查询语言





Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表