第一次在本地运行elasticSearch,环境是php,所以直接按照文档安装elasticsearch-php https://www.elastic.co/guide/cn/elasticsearch/php/current/_quickstart.html
安装完运行,创建一个文档
require 'vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$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是可以不修改,直接启动。
3. 启动ES服务
点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志信息如下:
注意:9300是tcp通讯端口,集群间和TCPClient都执行该端口,9200是http协议的RESTful接口 。 通过浏览器访问ElasticSearch服务器,看到如下返回的json信息,代表服务启动成功:
到这里说明服务启动了,再次去运行我们的创建文档代码,发现不报错了
接下来就可以做一系列操作了