分布式搜索引擎ElasticSearch安装爬坑记录
1.Elasticsearch与MySQL数据库逻辑结构概念的对比
Elasticsearch | 关系型数据库Mysql |
---|
索引(index) | 数据库(databases) | 类型(type) | 表(table) | 文档(document) | 行(row) | 字段(Filed) | 字段/列(column) |
2.window版的ElasticSearch的安装和启动
elasticsearch
2.1好了问题来了!!!!
按理说这样是可以成功的,但是我的电脑就是不行
百度谷歌搜了一圈也找不到解决办法,遂放弃在win安装,之后使用了云服务器Docker的方式,但还是出现了问题
- 内存不足
- 使用修改内存的方式启动es容器可行(自行百度),但在修改可跨域配置时又会出现新的问题
- 进入容器无法使用vim编辑器,解决方式安装一个
apt-get update apt-get install -y vim - 重启容器后10s左右会挂掉,docker ps -a 查看容器启动失败,原因可能是内存给小了(512M)可以尝试改大内存来解决,我的只有1G…很无奈
2.2云服务器docker的方式又宣告失败,别灰心,我们来试试elasticsearch.msi安装版
- 访问 http://127.0.0.1:9200/ 成功
3.Head插件
3.1安装和连接
? 如果都是通过rest请求的方式使用Elasticsearch,未免太过麻烦,而且也不够人性化。我们一般都会使用图形化界面来实现Elasticsearch的日常管理,最常用的就是Head插件
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 将grunt安装为全局命令 。Grunt是基于Node.js的项目构建工具。它可以自动运行你所设定的任务
cnpm install -g grunt-cli
- 切换到elasticsearch-head-master目录, 安装依赖
cnpm install
- 切换到elasticsearch-head-master目录启动head,在命令提示符下输入命令
grunt server
这个错误是由于elasticsearch默认不允许跨域调用,而elasticsearch-head是属于前端工程,所以报错。我们这时需要修改elasticsearch的配置,让其允许跨域访问
- 进入elasticsearch-5.6.8\config, 修改elasticsearch配置文件:elasticsearch.yml,增加两句命令:
问题又出现了 这个 elasticsearch.yml在哪呢????- 没关系,我们使用EveryThing搜索一下 我的在
- 打开elasticsearch.yml添加配置,重启服务即可!
http.cors.enabled: true
http.cors.allow-origin: "*"
- 再启动elasticsearch和Head插件, 再重新连接
IK分词器 正在整理中…
|