| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> ElasticSearch -> 正文阅读 |
|
[大数据]ElasticSearch |
ElasticSearch????????基于Lucene(基于java)的分布式开源搜索引擎。开箱即用,自带分布式协调管理功能,仅支持json文件格式,更注重核心功能,高级功能多由第三方插件提供:如图形化界面需要kibana支撑。实时查询更快(ES开发维护者较少,更新快,学习成本较高)。 基本环境要求????????jdk1.8 安装? ? ? ? 以windows版本为例,下载解压后即可使用。默认自成集群(一个也是集群)。 ? ? ? ? 修改默认配置文件:安装目录下 config/elasticsearch.yml 中修改即可
启动? ? ? ? 安装目录bin下运行elasticsearch.bat 即可 访问? ? ? ? 直接访问 ip:port(默认9200) 即可 可视化界面安装? ? ? ? 这里用的是?elasticsearch-head-master,解压此包后在当前解压路径下开始安装: ? ? ? ? 执行安装:(c)nmp install ? ? ? ? 执行启动:npm run start ? ? ? ? 访问:ip:9100(默认) ?查询工具? ? ? ? 大数据常用插件:kibana,类似的还有postman等等 分词插件? ? ? ? 以中文分词插件ik分词器为例:将插件解压到elasticsearch目录下plugins目中即可使用。 ? ? ? ? 查询分词路径:ip:9200/_analyze ????????analyzer: 取值 ik_smart 时,表示最少切分;ik_max_word 时,表示最细切分。 ? ? ? ? ?当然,ik分词器切分出的结果中并不一定有我们自己想要的词时,需要我们将想要的词加入到分词器的字典中。 ? ? ? ? 在分词器目录config中新建自己的 .dic文件,将需要添加的分词加入其中或者将分词加入已存在的其他 .dic文件中。如果是新建dic文件的话,需要将此dic文件加入分词配置文件? IKAnalyzer.cfg.xml? 中: ?倒排索引? ? ? ? 相对于正向索引来说的。在正向索引中,需要扫描所有的文档,在每个文档中寻找关键字。 ? ? ? ? 倒排索引相反,通过先分析每个文档,提取其中的关键字,并建立关键字与文档ID之间的对应关系,找到关键字后直接去找对应的文档,而不是扫描所有文档后才能确定有哪些文档。如:
REST风格的操作方式? ? ? ? GET / POST / DELETE,ip:port / 索引库名称 / [类型名称] / [文档id]? ? ?增删改查 ? ? ? ? POST:ip:port / 索引库名称 / [类型名称] / [文档id] / _update? ? 修改指定文档 ? ? ? ? POST|GET:ip:port / 索引库名称 / [类型名称] /?_search? ? 查询指定类型的所有文档数据 索引库数据类型? ? ? ? 字符串:text、keyword;如果fields中的类型为keyword,则此字段不可拆分。 ? ? ? ? 数值:byte、short、integer、long、float、half float、scaled float、double ? ? ? ? 日期:date ? ? ? ? 布尔:boolean ? ? ? ? 二进制:binary ? ? ? ? 不指定数据类型(会根据数据类型默认): ? ? ? ? ?创建索引时指定字段数据类型: 查询操作? ? ? ? 单条件查询: ? ? ? ? query:查询条件 ? ? ? ? match:模糊查询(包含) ? ? ? ? term:精确查询(不会分词,适合keyword、date等明确值的) ? ? ? ? _source:指定返回哪些字段 ? ? ? ? sort:排序 ? ? ? ? from:起始第多少条 ? ? ? ? size:返回条数 ? ? ? ? highlight:高亮 ? ? ? ? 多条件查询 ? ? ? ? ?bool:多条件 ? ? ? ? must | should | must_not:多条件之间的关系,对应 sql 中的 and | or | not ? ? ? ? filter:字段值的过滤 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/28 10:26:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |