首页 > 系统相关 >linux 下安装和使用Elasticsearch8+php的操作

linux 下安装和使用Elasticsearch8+php的操作

时间:2023-05-06 17:47:47浏览次数:46  
标签:index 9200 然后 id elasticsearch https linux php Elasticsearch8

首先安装

Elasticsearch8版本不需要jdk环境,就是JVAV的环境,他本身的压缩文件里就包含了固定的jdk

去官网

1、下载

Elasticsearch 的官方地址: https://www.elastic.co/cn/

下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

我这里下载的是elasticsearch-8.7.1-linux-x86_64.tar,看你服务器版本来下载

然后下载到根目录下的/usr/local/es (这个ES是我自己创建的目录)

解压之后

然后运行,记得不要用root用户运行,他会报错

fatal exception while booting Elasticsearchjava.lang.RuntimeException: can not run elasticsearch as root

我们新建一个用户

useradd elasticsearch (需要密码的就自己再写个命令password *******密码)

然后给这个新建的用户指定权限

chown elasticsearch:elasticsearch elasticsearch-8.7.1(记得cd到这个目录才给权限了,不然找不到指定文件)

切换用户

su elasticsearch

然后改下配置(在elasticsearch-8.7.1/config)

在elasticsearch.yml

修改network.host: 0.0.0.0

打开端口

http.port: 9200

保存之后输入命令

/bin/elasticsearch (在elasticsearch-8.7.1目录执行,然后用的是你新建的那个用户执行命令)

如果出现闪退然后没有大概的报错信息就只有ERROR:Elasticsearch exited unexpectedly

大概就是你的内存那些不足,去config/jvm.options

-Xms2G
-Xms2G

修改

我这里改成

-Xms512m
-Xms512m

保存退出,还有些问题报错可以参考下别的,有的是要把系统内存数量提高,还有的是自己本身就有java环境导致冲突的可以搜索如何解决es与jdk依赖强的问题

参考https://blog.csdn.net/qq_46533159/article/details/127916528 这里大致讲了报错信息

再次运行/bin/elasticsearch 如果加上-d就表示后台运行,不加上你关掉终端就会关闭elasticsearch

运行成功就会出现终端的下面没有命令可写,需要重新开终端才能输其他的命令,这就是表示成功了

然后在浏览器输入你的Ip:9200 (如果出现如下图就表示成功,如果不出现查看下阿里云或者腾讯云的安全组有没有添加上9200的端口)

这个图就是跟数据库做对比

然后呢就开始用php来玩这个了

使用

composer require 'elasticsearch/elasticsearch' 来下载到自己拓展里

然后新建一个文件(我这里用的是thinkphp所以不需要在引入autoload了)

<?php
use Elasticsearch\ClientBuilder;

//这里是连接Elasticsearch,如果你设置了ES密码就查下怎么连

$client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();

/**
添加的内容body是你需要的内容,跟数据库查出来的数据一样,id可以不写,会随机生成,index相当于数据库,type相当于数据库的表,但是8.x之后就取消掉了,只剩下index了
想配合数据库就把数据库查出来把内容写在params里面就行了,跟增删改查差不多
**/
$params = [
    'body' => [
      'id' => 3,
      'title' => "这里是index1里面的标题",
      'content' => "真是应答了内里面的东西真不是你的,啊啊啊哦哦哦额鹅鹅鹅"
    ],
    'id' => 'product_3',
    'index' => 'products_index',
    // 'type' => 'products_type'
  ];

//添加索引
$response = $client->index($params);

//查下单个文档索引,get好像必须要携带id的
$where = ['index'=>"products_index","id"=>"product_3"];
$response = $client->get($params);

/**
搜索,我们用Elasticsearch不就是为了搜索吗,然后这玩意挺牛的,比如有三个内容

一个是:真是应答了内里面的东西真不是你的,啊啊啊哦哦哦额鹅鹅鹅

一个是:这里是内容

一个是:真是应答了内里面的东西

如果你给的查询条件里是$where = "这里是"

他就自动给你把连在一直的字排到第一给你,然后拆开 (“这里” “是” ) (“这” “里是”) (“这” “里” “是”)来查然后排序好给你
**
//可以自己多添加点索引内容来玩玩多试试就知道了
$map = ['index'=>"products_index"];
$map ['body']['query']['match']['content'] = '这里是';
$info = $client->search($map);//搜索

其他的功能参考下别的博主,有删除和更新新增修改的

参考:
https://www.cnblogs.com/lxwphp/p/15452423.html

https://blog.csdn.net/weixin_43986172/article/details/123975402

https://www.jianshu.com/p/a7c9e27d1ed3

这三都是php的

然后想理解ES入门,可以参考这个

https://blog.csdn.net/Y_hanxiong/article/details/127261296

https://blog.csdn.net/lxw1844912514/article/details/129980490

都写的挺好的

ES8浏览器上输入http://IP:9200/index/_doc/id(这个_doc是8版本固定的)

ES7浏览器上输入http://IP:9200/index/type/id(这个是7版本之前的写法)

标签:index,9200,然后,id,elasticsearch,https,linux,php,Elasticsearch8
From: https://www.cnblogs.com/jsyphp/p/17378098.html

相关文章

  • composer 报PHP Fatal error: Composer detected issues in your platform: Your Com
      ......
  • WEB|[NPUCTF2020]ReadlezPHP
    打开网页发现什么都没有,burpsuite抓包查看源码发现链接./time.php?source,访问链接发现源码<?php#error_reporting(0);classHelloPhp{public$a;public$b;publicfunction__construct(){$this->a="Y-m-dh:i:s";$this->b="date&qu......
  • PHP: upload file
     <!DOCTYPEhtml><html><body><formaction="uploadImage.php"method="post"enctype="multipart/form-data">Selectimagetoupload:<inputtype="file"name="fileToUpload&quo......
  • Rocky Linux 9 GitLab 部署
    1、环境8核/16G内存/500G硬盘当前gitlab暂不支持RockyLinux9,不过可以使用AlmaLinux8的安装源进行安装2、安装依赖#安装依赖dnfinstall-ycurlpolicycoreutilsopenssh-serverperlpostfix#启动邮件服务systemctlenable--nowpostfix3、安装源配置(......
  • Linux 系统的目录结构
    Linux系统的目录结构如下:•/(根目录):整个文件系统的根目录。•/bin:存放着最重要的命令二进制文件。•/boot:存放启动Linux时使用的一些核心文件,如内核、引导程序等。•/dev:设备文件目录,存放设备节点文件。•/etc:系统配置文件目录。•/home:用户主目录所在地。......
  • Linux 系统进程守护工具 cesi + superviosr
    一、安装Supervisorpipinstallsupervisor使用echo_supervisord_conf命令生成默认配置文件echo_supervisord_conf>/etc/supervisord.conf配置文件说明位置:etc/supervisord.conf内容:#指定了socketfile的位置[unix_http_server]file=/tmp/supervisor.sock;UNIXsock......
  • LINUX系统的快捷键是什么?
    1、终端及标签页快捷键快捷键功能Shift+Ctrl+T新建标签页Shift+Ctrl+W关闭标签页Ctrl+PageUp前一标签页Ctrl+PageDown后一标签页Shift+Ctrl+PageUp标签页左移Shift+Ctrl+PageDown标签页右移Alt+1切换到标签页1Alt+2切换到标签页2Alt+3切......
  • Web|[SWPUCTF 2018]SimplePHP
    访问是一个文件上传页面,点击查看文件页面可以发现特殊的链接,应该存在文件包含http://dfef288e-1b73-48e0-9458-a4e733c40c38.node4.buuoj.cn:81/file.php?file=查看源码发现一些文件,页面内容提示flag在f1ag.php中index.phpfile.phpupload_file.phpf1ag.php直接包含f1a......
  • [Event] Linux con Japan 2015
    日本每年都举办一次LinuxCon,下面是今年的Event及对应的ppthttp://events.linuxfoundation.jp/events/linuxcon-japan粗粗看了一下,竟然还有这么一个主题。HowChinainvolvedinOpenSourceMovement不过幻灯片让人大跌眼镜,讲演怎么样姑且不论,这内容也太少了。http://eve......
  • PHP: split()
     <!DOCTYPEHTML><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>phpsplitTest</title></head><body><?php//fromhttps://www.ph......