ES初级学习

一安装浏览器插件elasticseaeh-head

  1. es先写入内存,再写入translog。写入硬盘时有flush和translog

  2. tranlog记录es索引写入日志,防止异常原因断电等造成数据丢失。

  3. 数据写入操作系统的文件缓存系统在这里插入图片描述

  4. es删除数据:并不真正删除,而是标记为.del文件保存,类似于逻辑删除。但是会导致硬盘上的es文件越来越多,会有一个合并文件的操作,这个时候会将文件彻底删除。

  5. es默认分词器
    get http://localhost:9200/_analyze
    {
    “analyzer”:“standard”,
    “text”:[“这是一个分词器”]
    }

  6. ik分词器(中文分词器)版本需要与es对应
    ik插件解压缩后放置在es目录plugins下,重启es,可以使用ik
    ik参数
    {
    “text”:“”
    “analyzer”:“ik_max_smart” //最粗粒度的划分单词
    “analyzer”:“ik_smart”//最细粒度的划分单词
    }
    例如:
    get _analyze
    {
    “analyzer”:ik_smart",
    “text”:[“最细粒度的划分”]
    }
    6.1. 固定词语不拆分存储。
    (1)ik目录下config创建.dic文件,将不分词的词语输入保存即可
    (2)ik目录config目录下修改Analyzer.cfg.xml文件
    在这里插入图片描述

es-head写入(shopping为索引名)2为唯一性标识,必填
post shopping/doc
put shoppint/doc/2
在这里插入图片描述

  1. es数据删除
    在这里插入图片描述
    9.不区分索引,根据查询条件查询所有索引
    在这里插入图片描述
    10.不区分索引多条件查询
    在这里插入图片描述
    11.查看所有索引
    在这里插入图片描述
    12.设置别名(通过该名称也可以查询到索引)
    aliases
    13.es不允许修改索引信息
    14.恢复删除后的文档数据.del或查询删除后的文档数据.del
    15.查询整个集群的文档数量
    在这里插入图片描述
    16.查询索引所有数据
    get 索引名/_search
    17.删除单个索引
    delete /索引名/_doc/唯一性id
    整个索引文档删除post /索引名/_doc
    18.批量写入索引
    put /索引名/_bulk
    {index:“”,id:“”…}
    {“age”:“”,“”:“”}
    {“index”:{“_index”:“test”,“_id”:“5”}}
    {“id”:“5”,“name”:“lisi”,“age”:“21”,“address”:“sq”}
    {“index”:{“_index”:“test”,“_id”:“6”}}
    {“id”:“6”,“name”:“zhangtang”,“age”:“19”,“address”:“ly”}

19.分词保存,分词查询
zhang san :会保存为两个关键词
zhangsan:为一个关键词
分词查询:可以同时查询多个关键字
在这里插入图片描述
20.全词搜索
term
{“query”:{“term”:{“name”:“lisi”}}}
21.对返回结果进行限制
{
“_resource”:[“age”],
“query”:{“must”:
{“match”:{“name”:“lisi”}}
}
}
22.组合查询(与是must,或是should)查询多个条件
should:{
“match”:{“age”}
“match”:{“name”}
}
例(查询标题中含有hadoop 和hbase的):
{
“query”:{
“should”:{
“match”:{
“title”:{“query”:“hadoop”,“boost”,1}
},
“match”:{
“title”:{“query”:“hbase”,“boost”,1}
}
}
}
}
23.排序(根据年龄排序)
{
“query”{“must”:{“age”}},
“sort”:{“age”:{“order desc”}}
}
24.分页查询
{“query”:{},
“from”:2, --从第几条数据开始查询
“size”:2 --每页显示的数据
}

25.分组查询
{
“aggs”: {
“ageGroup”: {
“terms”: {
“field”: “age”
}
}
},
“size”: 0
}
26.分组后聚合
{
“aggs”: {
“ageGroup”: {
“terms”: {
“field”: “age”
}
},
“aggs”:{
“aggsum”:{
“sum”:{
“field”:“age”
}
}
}
},
“size”: 0
}
27.求年龄平均值
{
“aggs”: {
“ageAvg”: {
“avg”: {
“field”: “age”
}
},
“size”: 0
}
28.排序
{
“aggs”:{
“ageOrder”:{
“top_hits”:{
“sort”:[{
“age”:{
“order”:" desc"
}
}],
“size”:0
}
}
},
“size”:0
}
29.调整创建索引的默认信息
单条:
put index_name
{
“settings”:{
“number_of_shards”:2
}
}
30.删除整个索引
在这里插入图片描述
31.创建索引模板并使用,关键字_template
索引模板可反复修改
创建模板:
put _template/templatename
{
“index_pattens”: [ —创建的索引规则,索引名称带my开头的自动引用该模板
“my*”
],
“settings”: {
“index”: {
“number_of_shards”: 1
}
},
“mappings”: {
“properties”: {
“now”: {
“type”: “date”,
“format”: “yyyy/mm/dd”
}
}
}
}

—es-head不支持now,type,date等
{
“index_patterns”: [
“my*”
],
“settings”: {
“index”: {
“number_of_shards”: 1
}
}
}

32.查询es创建的索引模板
get _template/templatename

33.使用模板,索引名称为my开头的即可
get my_template_test
在这里插入图片描述
34.删除创建的索引模板
delete _template/my_template_test
在这里插入图片描述
35.文档评分机制
查询结果根据评分不同,优先展示
get indexname/_search?explain=true
{
“query”:{
“match”:{
“name”:“zhang”
}
}
}
评分标准:boots * idf * tf
idf :逆文档频率 计算规则:log(1+(N-n+0.5)/(n+0.5)
tf:词频 计算规则:freq/(freq+k1*(1-b+b*dl/avgdl))
boots:权重系数。有固定的值==2.2

  1. 提升所查询数据的分值,优先展示
    查询条件加权重值—boost
    例如:
    {
    “query”:{
    “should”:{
    “match”:{
    “title”:{“query”:“hadoop”,“boost”,1}
    },
    “match”:{
    “title”:{“query”:“hbase”,“boost”,2}
    }
    }
    }
    }
    权重系数有固定值2.2 可以通过参数调整增加或减小,以上boost将优先展示title包含hbase的数据。
    title包含hbase的权重系数为2.2*2=4.4
    title包含hadoop的权重系数为2.2

37.eql数据查询语言
建立各个数据之间的查询关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于学习Elasticsearch,你可以按照以下步骤进行: 1. 首先,你可以从Docker Hub上获取Elasticsearch的镜像。你可以使用以下命令来拉取特定版本的Elasticsearch镜像: ``` docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2 ``` 2. 接下来,你可以创建一个简单的Dockerfile来构建一个Elasticsearch容器。Dockerfile的内容可以参考以下示例: ``` FROM docker.elastic.co/elasticsearch/elasticsearch:7.6.2 COPY --chown=elasticsearch:elasticsearch elasticsearch.yml /usr/share/elasticsearch/config/ ``` 这个Dockerfile会将你的自定义配置文件`elasticsearch.yml`复制到Elasticsearch容***-analysis-ik`项目。该项目提供了一个支持中文分词的插件,你可以在以下链接找到它: ``` https://github.com/medcl/elasticsearch-analysis-ik ``` 你可以根据项目的文档和示例,自定义和配置分词器和分析器以满足你的需求。 通过上述步骤,你可以开始学习和使用Elasticsearch,并根据需要进行自定义配置和扩展。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ES(Elasticsearch)入门学习教程](https://blog.csdn.net/m0_55070913/article/details/124243790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ElasticSearch学习总结(基础篇,可学习,可复习)](https://blog.csdn.net/Gaowumao/article/details/124484971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值