第一次在本地运行elasticSearch,环境是php,所以直接按照文档安装elasticsearch-php https://www.elastic.co/guide/cn/elasticsearch/php/current/_quickstart.html
安装完运行,根据文档示例创建一个es文档
require 'vendor/autoload.php';
use ElasticsearchClientBuilder;
$client = ClientBuilder::create()->build(); //默认连接的话是127.0.0.1:9300
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'body' => ['testField' => 'abc'] ]; $response = $client->index($params); print_r($response);
直接报错:nonodesavailableexception 运行不起来
最后发现,原来是没有开启elasticSearch服务
解决方案:
1.再次下载elasticSearch
ElasticSearch的官方地址: https://www.elastic.co/products/elasticsearch 学习用,下载windows版本就行,上线的时候有运维人员安装给我们使用。
2.安装
ES服务 Window版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch 的目录结构如下:
修改elasticsearch配置文件:config/elasticsearch.yml,增加以下两句命令:
http.cors.enabled: true http.cors.allow-origin: "*"
此步为允许elasticsearch跨越访问,如果不安装后面的elasticsearch-head是可以不修改,直接启动。(后面的可视化es如果使用的话,需要修改此处)
3. 启动ES服务
点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志信息如下:
注意:9300是tcp通讯端口,集群间和TCPClient都执行该端口,9200是http协议的RESTful接口 。 通过浏览器访问ElasticSearch服务器,看到如下返回的json信息,代表服务启动成功:
到这里说明服务启动了,再次去运行我们的创建文档代码,发现不报错了
到这里你的es搜索就可以使用了,接下来就可以做一系列操作了
es可视化安装
下面是安装可视化界面
这个es 可视化 需要基于Node 环境 ,所以说,想要可视化的话,要确保系统是否具备Node 环境
打开cmd,进入我们上面安装的目录elasticsearch-head-master下
输入命令安装:npm install --registry=https://registry.npm.taobao.org
安装后 ,执行可视化启动命令: npm run start
浏览器 输入 localhost:9100查看
点击连接,如果连接不上,卡看是否跨域,因为是9100访问 9200 浏览器保护策略 端口不一致 导致跨域了
es 配置文件中 添加 跨域 即 config 目录下的 elasticsearch.yml 文件
再次查看
可视化安装成功