elasticsearch基本知识

本文介绍了Elasticsearch的安装与配置,包括从官网下载、安装header插件、解决npm安装错误、处理跨域问题及分布式安装等。还阐述了其基础概念,如索引、类型、文档等。此外,详细讲解了RESTFul API的使用,涵盖创建索引、插入、修改、删除和查询等操作,以及高级查询方法。

1进入官网下载最新版本-.默认9200端口
2.进入https://github.com 下载header插件,提供界面话操作界面和搜索,rest请求模拟
3.下载node.js,利用npm工具下载东西,-进入head插件的目录-cd ….然后用(用管理员权限运行,否则会报错,无权限)npm install命令下载相关文件(需要该文件夹下有package.json文件),最后用npm run start 启动插件
若是npm install出错,那就清理缓存
npm cache verify
npm cache clean
npm cache clean –force
解决方法:
1. npm run clean (clean npm)
2. delete node_modules directory from my project structure.
3. install dependencies again using npm install

4.es插件和head是属于不同的进程,存在跨域问题,需要修改es的配置文件
修改F:\elasticsearch-6.3.2\config\elasticsearch.yml
在文件最后面加上 –>http.cors.enabled: true
–>http.cors.allow-origin: “*”

5.分布式安装插件-建立一个主节点和两个从节点—-注意配置文件 :后面要空一格
修改F:\elasticsearch-6.3.2\config\elasticsearch.yml
在文件末尾加上
cluster.name:wali
node.name:master
node.master:true
network.host:127.0.0.1 默认端口9200
2.复制出两份elasticsearch-6.3.2文件用来分别设置从节点,随后启动从节点的进程
cluster.name: wali–集群名字要一样
node.name: slave1
network.host: 127.0.0.1默认端口9200会冲突,所以要指定端口
http.port: 8200
discovery.zen.ping.unicast.hosts: [“127.0.0.1”]用于找到master,要不然找不到主节点

新版本的elasticsearch的bin目录下也有service.bat命令可以安装启动服务。
if errorlevel 1 goto x86
set EXECUTABLE=%ES_HOME%\bin\elasticsearch-service-x64.exe
set SERVICE_ID=elasticsearch-service-x64
set ARCH=64-bit
goto checkExe
:x86
set EXECUTABLE=%ES_HOME%\bin\elasticsearch-service-x86.exe
set SERVICE_ID=elasticsearch-service-x86《———-设成不同的id即可分别启动windowu服务———–》

基础概念
1.索引:含有相同属性的文档集合——英文字母小写+_相当于数据库里的database
2.类型:索引可以定义一个或多个类型,文档必须属于一个类型——相当于数据库里的table
3.文档:文档是可以被索引的基本数据单元——相当于数据库里的一行记录

分片:每个索引有多个分片,每个分片是一个lucene索引—>分担单个索引的压力-默认五个分片、一个备份
备份:拷贝一个分片就完成了分片的备份

RESTFul API
1.API基本格式 http://:/<索引>/<类型>/<文档id>
2.常用HTTP动词 GET/PUT/POST/DELETE

创建索引
一、插入
1.指定文档id插入
使用http put请求
eg:发送put请求 http://127.0.0.1:9200/people/man/1 —–>peopel索引、man类型、1文档
传送的数据
{
“name”:”瓦力”,
“country”:”China”,
“age”:30,
“date”:”1995-11-17”
}
2、自动产生文档id插入
使用http post请求
eg 发送 http://127.0.0.1:9200/people/man/
二、修改
1.直接修改文档
使用http post请求
eg。http://127.0.0.1:9200/people/man/1/_update—>update关键词
{
“doc”:{
“name”:”谁是瓦力”
}
}
2.脚本修改文档
{
“script”:{
“lang”:”painless”,
“inline”:”ctx._source.age=params.age”,
“params”:{
“age”:100
}
}
}
三、删除操作
发送http delete请求 127.0.0.1:9200/people/man/1/
四、查询操作
1.简单查询
127.0.0.1:9200/book/_search
2.条件查询
{
“query”:{
“match”:{
“name”:”唐”
}
},
“sort”:[
{“age”:{“order”:”desc”} }
]

}
3.聚合查询
{
“aggs”:{
“group_by_word_count”:{
“terms”:{
“field”:”age”
}
}
}
}
高级查询
1.子条件查询 特定字段查询所指特定值
(1)、query context :在查询过程中,出来判断文档是否满足查询条件外、ES还会计算一个_score来标识匹配的程度
(2)、filter context只判断该文档是否满足条件
常用查询
全文本查询:针对文本类型数据
字段级别查询: 针对结构化数据、如数字、日期等
{
“query”:{
“match”:{
“age”:”100”
}
}
}
(2)、filter context:
2、复合条件查询、 以一定的逻辑组合子条件查询

### Elasticsearch 基本操作教程 #### 启动Elasticsearch服务 为了启动Elasticsearch,需先确认配置文件无误并完成必要设置。通过命令行输入`sudo service elasticsearch start`来启动该服务[^1]。 #### 索引管理 ##### 创建索引库 创建一个新的索引可以通过发送HTTP PUT请求到指定路径实现。例如: ```bash PUT /my_index?pretty { "settings": { "number_of_shards": 1, "number_of_replicas": 0 } } ``` 此代码片段展示了如何定义具有特定分片数和副本数量的新索引结构[^3]。 ##### 删除索引库 当不再需要某个索引时,可以利用DELETE HTTP方法将其移除: ```bash DELETE /my_index ``` 这条语句会彻底删除名为 `my_index` 的整个索引及其内含的数据。 ##### 查验索引存在状态 要验证某索引是否已经存在于集群中,可执行HEAD请求: ```bash HEAD /_cat/indices/my_index?v=true&h=health,status,index,pri,rep,docs.count,store.size ``` 上述指令用于检查给定名称的索引是否存在以及获取其基本信息。 #### 文档处理 ###### 添加新文档 向已存在的索引里增加记录的方式如下所示: ```json POST /my_index/_doc/ { "title": "Elasticsearch Basics", "content": "An introduction to using Elasticsearch." } ``` 这段JSON格式的消息体代表了一篇关于Elasticsearch基础知识的文章条目。 ###### 获取现有文档 检索单个文档可通过GET方式访问对应ID下的资源位置: ```bash GET /my_index/_doc/<document_id>?_source_includes=title,content ``` 这里指定了仅返回字段中的"title" 和 "content"部分的内容。 ###### 更新已有文档 对于更新操作,则采用POST或PUT方法,并附带修改后的版本号参数: ```json POST /my_index/_update/<document_id> { "script" : { "source": "ctx._source.content += ' More information.'" } } ``` 这个例子说明了怎样追加额外的信息至原文档内容之后。 ###### 移除指定文档 最后,如果想要永久性地清除一条或多条记录,应该运用DELETE动作: ```bash DELETE /my_index/_doc/<document_id> ``` 这将有效地从数据库中消除关联于所提供标识符的那一项实体。 #### 数据查询与分析 针对复杂场景下多条件组合筛选、排序展示等功能需求,RestClient提供了丰富的API接口支持,包括但不限于普通查询、复合条件查询、分页显示等特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值