申明:本次测试只作为学习用处,请勿未授权进行渗透测试,切勿用于其它用途!
公众号现在只对常读和星标的公众号才展示大图推送,
建议大家把 明暗安全
设为星标,否则可能就看不到啦!
1.漏洞背景
Elasticsearch是一个强大的开源搜索和分析引擎,它使得数据查询和实时分析变得简单高效。无论是全文搜索、结构化搜索还是分析,Elasticsearch都能胜任。本文将带你快速了解Elasticsearch的基础语法,让你能够开始你的搜索和分析之旅。有很多企业在使用他作为搜索引擎,最经典的如:GitHub,
Adobe
在深入语法之前,了解几个Elasticsearch的基本概念:
-
索引(Index):存储数据的地方,类似于传统数据库中的“数据库”概念。
-
类型(Type):索引中的数据分类,类似于传统数据库中的“表”。请注意,在Elasticsearch 7.x版本中,类型的概念已被废弃。
-
文档(Document):存储在索引中的基本信息单位,类似于数据库中的一行记录。
-
字段(Field):文档中的一个数据点,类似于数据库表中的列。
创建索引
创建一个名为my_index的索引:
PUT /my_index
删除索引
DELETE /my_index
向my_index
索引的_doc
类型插入一个文档:
POST /my_index/_doc/1
{
"name": "John Doe",
"age": 30,
"interests": ["sports", "music"]
}
插入文档
向my_index
索引的_doc
类型插入一个文档:
POST /my_index/_doc/1
{
"name": "John Doe",
"age": 30,
"interests": ["sports", "music"]
}
更新文档
更新my_index
索引中ID为1的文档:
POST /my_index/_doc/1/_update
{
"doc": {
"age": 31
}
}
2. 数据查询
Elasticsearch提供了强大的查询功能,支持全文搜索、结构化搜索、复合查询等。因为es使用api操作很不方便,我们使用python脚本来操作es进行数据插入,查询等操作。
1. 首先下载
2. 启动es执行命令
./bin/elasticsearch
注意,该引擎需要在jdk8的环境下运行
3. 安装pip库,本文演示用py来操作api
pip
install elasticsearch
4. 链接集群,并插入数据
from elasticsearch import Elasticsearch
# 连接本地Elasticsearch服务
es = Elasticsearch(
"http://localhost:9200"
)
# 向"my_index"索引插入一个文档
doc = {
"name"
:
"John Doe"
,
"age"
: 30,
"interests"
: [
"sports"
,
"music"
]
}
res = es.index(index=
"my_index"
, id=1, body=doc)
print(res['result'])
5. 查询插入的数据
# 在"my_index"索引中搜索姓名包含"John"的文档
query = {
"query"
: {
"term"
: {
"name.keyword"
:
"John"
}
}
}
res = es.search(index=
"my_index"
, body=query)
for
hit
in
res[
'hits'
][
'hits'
]:
(hit[
'_source'
])
6. 上述方法适合插入单条数据,。
下边使用批量插入,速度非常快!!!
from elasticsearch import helpers
actions = [
{
"_index"
:
"my_index"
,
"_id"
: 2,
"_source"
: {
"name"
:
"Jane Doe"
,
"age"
: 25,
"interests"
: [
"reading"
,
"music"
]
}
},
# 可以添加更多的操作
]
helpers.bulk(es, actions)
使用批量插入仅需2分钟即可插入1kw数据。
在插入大量数据时,仅需读取txt,处理成列表,即可插入到es里
大家在搭建大型数据库的时候(比如:全流量平台那种亿级数据量),使用mysql会有一个很苦恼的事情,就是插入慢,查询慢。做索引时间很长。
使用es做数据查询引擎,能够达到毫秒级响应,亲测好评。
原文始发于微信公众号(明暗安全):如何使用elasticsearch打造自己的搜索引擎
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论