elasticsearch 安装过程,简单使用(Linux 下,mac 下,下载对应安装包)
1:添加用户,及用户组(不能用root账户启动)
useradd -g www username
2:新建文件夹 java elasticsearch
3:进入java目录,下载java,java_se rpm包
wget http://javadl.oracle.com/webapps/download/AutoDL?BundleId=207764
ava 版本 jre-8u91-linux-x64.rpm
java_se 用户wget 下载不下来,下载到本地,用scp传上去
scp ~/Downloads/jdk-8u91-linux-x64.rpm root@182.92.155.69:/usr/java/
se版本为:jdk-8u91-linux-x64.rpm
4:安装 java ,java se
rpm -ivh jre-8u91-linux-x64.rpm
rpm -ivh jdk-8u91-linux-x64.rpm
5:下载elasticsearch
进入elasticsearch目录,下载elasticsearch 有点慢
6:安装
unzip elasticsearch-2.3.3.zip
7:安装监控 es-head插件(Marvel 没安装成功过)
进入elasticsearch/bin目录,
./plugin install mobz/elasticsearch-head
8:设置权限
chmod -R 777 elasticsearch-2.3.3
9:修改配置
进入elasticsearch-2.3.3 目录
打开配置文件:
vim config/elasticsearch.yml
修改服务地址,替换对应的ip
network.host: 182.92.155.69
10:启动
切换账户 su songhongyu
进入elasticsearch-2.3.3 目录
./bin/elasticsearch 前台启动
./bin/elasticsearch -d 后台启动
lsof -i:9200 杀掉端口,重新启动
11:查看是否启动
查看状态:
http://127.0.0.1:9200/
查看监控:
http://127.0.0.1:9200/_plugin/head/
Yii2 elasticsearch插件引用
yii2 中有插件
php composer.phar require –prefer-dist yiisoft/yii2-elasticsearch
在main-local.php增加配置 修改对应配置信息## 标题 ##
return [
//....
'components' => [
'elasticsearch' => [
'class' => 'yii\elasticsearch\Connection',
'nodes' => [
['http_address' => '127.0.0.1:9200'],
// configure more hosts if you have a cluster
],
],
]
];
用下面简单的调用已有的方法
Yii::$app->elasticsearch-get($url, $options = [], $body = null, $raw = false);
参数说明:
$url 对应数据地址 /索引/文档/id (/hmcenter/contact/AVVNvSRoHgrLnXaFUrcD)
$options 数组,生成附加在url上的参数
$body json 话的数组,数据主体
下面是几个常用的方法:
public function get($url, $options = [], $body = null, $raw = false)
{
$this->open();
return $this->httpRequest('GET', $this->createUrl($url, $options), $body, $raw);
}
public function post($url, $options = [], $body = null, $raw = false)
{
$this->open();
return $this->httpRequest('POST', $this->createUrl($url, $options), $body, $raw);
}
public function put($url, $options = [], $body = null, $raw = false)
{
$this->open();
return $this->httpRequest('PUT', $this->createUrl($url, $options), $body, $raw);
}