200M电信宽带做网站,网站做多少分辨率,网站开发要多钱,成都视频剪辑哪家培训机构好1. es简介 Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful搜索引擎#xff0c;广泛用在日志数据分析#xff0c;实时监控等领域#xff0c;擅长于海量数据的搜索、分析、计算
核心特点 分布式架构#xff1a;自动分片、复制数据#xff0c;提供高可用性 近实…1. es简介 Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful搜索引擎广泛用在日志数据分析实时监控等领域擅长于海量数据的搜索、分析、计算
核心特点 分布式架构自动分片、复制数据提供高可用性 近实时搜索数据几乎可立即被搜索到 全文检索强大的文本分析能力 RESTful API简单易用的HTTP接口 多语言支持官方提供Java客户端与Java生态完美集成
倒排索引 倒排索引Inverted Index是搜索引擎如Elasticsearch、Lucene的核心数据结构用于快速查找包含某个词项的文档。 传统索引正排索引文档ID -》 文档内容如数据库按ID查数据 倒排索引词项Term -》 文档ID列表实现高效全文检索
倒排索引构建过程
假设有以下3个文档 Doc1: Java is a programming language Doc2: Elasticsearch is built on Java Doc3: Java and Python are popular
(1) 分词Tokenization
先对文档进行分词使用分析器Analyzer如standard Doc1 → [java, is, a, programming, language] Doc2 → [elasticsearch, is, built, on, java] Doc3 → [java, and, python, are, popular]
(2) 构建词项→文档的映射
词项Term 文档ID列表Posting List Java[Doc1, Doc2, Doc3]elasticsearch[Doc2]python[Doc3]...... (3) 存储额外信息提升查询效率 词频TF, Term Frequency该词在文档中出现的次数影响相关性评分 位置Position词在文档中的位置用于短语查询如Java programming 偏移量Offset词的字符偏移用于高亮显示 2. es下载安装
win版下载官网Download Elasticsearch | Elastic 找到es下载安装bin路径双击elasticsearch.bat启动 启动的时候可能会遇到两个问题解决方法如下
2.1 访问问题 找到config目录下的elasticsearch.yml文件点开后将这几个配置都改成false保存后重新运行 成功访问✌ 2. 内存占用量问题 因为es运行需要占用很大内存内存容易出现自己死机的情况所以可以通过修改内存占用量避免这种问题发生, 找到config目录下的jvm.options文件点开后修改内存占用量保存后重新运行 3. kibana下载 kibana是es操作的图形化工具kibana是基于Node.js运行的如果没有安装node.js需要安装一下node.jsDownload Kibana Free | Get Started Now | Elastickibana安装网址Download Kibana Free | Get Started Now | Elastic
需要注意的是kibana版本一定要和es版本相同精确到小版本 在kibana 安装目录下的kibana.bat双击运行启动时间比较长大家耐心等待运行成功登录网址http://localhost:5601/访问。 进入到 Dev Tools就可以图形化编写代码了 4.分词器 分词器是用来处理中文分词的有一些词组可以通过分词器配置大家可以自行下载中文分词器将下载好的分词器复制粘贴到plugins目录下 重启kibana构建分词 同时也可以扩展分词器的词库修改config目录中的IKAnalyzer.cfg.xml文件 5. 索引库操作 ES中通过Restful请求进行索引库操作文档操作创建索引库和mapping的DSL语法如下 创建数据类型
PUT /ityang
{mappings: {properties: {age:{type: short},weight:{type: text,analyzer: ik_smart},name:{properties: {xingming:{type:keyword},sex:{type:text,analyzer:ik_max_word}}}}}
}
查询 删除修改
# 查询
GET /ityang# 删除
DELETE /ityang# 修改
PUT /ityang/_mapping
{properties:{idAD:{type:keyword}}
}
6. 文档操作
增加/删除/查询/修改 文档数据
# 新增数据
POST /ityang/_doc/1
{age:18,weight:100,name:{xingming:百度,sex:男}
}# 查询
GET /ityang/_doc/1# 删除
DELETE /ityang/_doc/1# 修改
# 全量修改 -- 删除原来的文档添加新文档
PUT /ityang/_doc/1
{age:20,name:{xingming:百度www}
}7. Java进行ES文档操作 ElasticsearchES提供 RESTful API 和 Java High-Level REST Client 进行文档操作。
我推荐大家一个博主写的一篇文章叫《Elasticsearch掰开揉碎第12篇java操作ES常用API》链接是这个Elasticsearch掰开揉碎第12篇java操作ES常用API_走不完的路,看不完的书!的技术博客_51CTO博客
大家可以去看一下~