[PHP] Elasticsearch 6.4.2 的安装和使用
Elasticsearch 6.4.2 的安装和使用
一、安装
http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html
https://www.jianshu.com/p/add1f1d57241
二、PHP连接
1)客户端版本
composer.json
{
"require": {
"elasticsearch/elasticsearch": "~6.5.0"
}
}
2)官方文档地址
https://www.elastic.co/guide/en/elasticsearch/client/php-api/6.5.x/index.html
三、基本概念
index 相当于 数据库
type 相当于 数据表
document 相当于 一行数据
id document的唯一标识
查询关键字:
must 与
must not 排除
should 或
must 查询内容必须出现在匹配的文档中,并将有助于得分;
must_not 查询内容不能出现在匹配的文档中;
filter 查询内容必须出现在匹配的文档中,是对匹配的结果过滤,在过滤器上下文中执行,意味着评分被忽略;
should 查询内容应该出现在匹配的文档中,至少有一个;
四、操作
1)连接
common.php
<?php
require 'vendor/autoload.php'; $client = Elasticsearch\ClientBuilder::create()->setHosts(['192.168.1.3:9200'])->build();
2)基本操作
<?php require 'common.php'; function add(){
//插入数据
$params = array(
'index' => 'website',
'type' => 'blog',
'id' => ,
'body' => array(
'title' => '111ElasticSearch-PHP之使用二',
'content' => '有关于ElasticSearch在PHP下的扩展使用方法之谈',
'create_time' => '2016-11-18 08:00:00',
),
);
global $client;
$resp = $client->index($params); $params = array(
'index' => 'website',
'type' => 'blog',
'id' => ,
'body' => array(
'title' => '222ElasticSearch-PHP之使用二',
'content' => '有关于ElasticSearch在PHP下的扩展使用方法之谈',
'create_time' => '2016-11-18 08:00:00',
),
); $res = $client->index($params);
} function query(){
$params = [
'index' => 'website',
'type' => 'blog',
'id' => ,
];
global $client;
$res = $client->get($params); //获取指定的文档
$res = $client->getSource($params); //获取指定的文档 数据
print_r($res);
} function del(){
$params = [
'index' => 'website',
'type' => 'blog',
'id' => ,
];
global $client;
$res = $client->delete($params); //删除指定的文档
print_r($res);
} function update(){
$params = [
'index' => 'website',
'type' => 'blog',
'id' => ,
'body' => [
'doc' => [
'age' =>
]
]
];
global $client;
$res = $client->update($params); //更新指定的文档
print_r($res);
} function search(){
$params = [
'index' => 'website',
'type' => 'blog',
'body' => [
'query' => [
'match' => [
'age' => ''
]
],
'from' => '',
'size' => '',
'sort' => [
'age' => 'desc' //对age字段进行降序排序
]
]
];
global $client;
$res = $client->search($params); //搜索 指定的文档
print_r($res);
} function index(){
$params = [
'index' => 'website',
'client' => [
'ignore' =>
]
];
global $client;
//$res = $client->indices()->delete($params); //删除库索引
//$res = $client->indices()->getSettings($params);//获取库索引设置信息
$res = $client->indices()->exists($params); //检测库是否存在
$res = $client->indices()->getMapping($params); //获取mapping信息
print_r($res);
} //add();
// query();
//del();
// update();
// search();
index();
3)复杂查询
<?php require 'common.php'; //搜索某一字段
function search1(){
$params = [
'index' => 'website',
'type' => 'blog',
'body' => [
'query' => [
'match' => [
'content' => '方法'
]
],
'from' => '',
'size' => ''
]
];
global $client;
$res = $client->search($params); //搜索 指定的文档
print_r($res);
} //搜索多个字段
//query bool must 是 and 查询
function search2(){
$params = [
'index' => 'website',
'type' => 'blog',
'body' => [
'query' => [
'bool' => [
'must' => [
'match' => [
'title' => ''
],
'match' => [
'content' => '方法之谈'
]
]
]
],
'from' => '',
'size' => ''
]
];
global $client;
$res = $client->search($params); //搜索 指定的文档
print_r($res);
} //search1();
search2();
本博客地址: wukong1688
本文原文地址:https://www.cnblogs.com/wukong1688/p/10977410.html
转载请著名出处!谢谢~~
[PHP] Elasticsearch 6.4.2 的安装和使用的更多相关文章
- logstash+elasticsearch+kibana管理日志(安装)
logstash1.先安装jdk2.wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz tar -xzvf ...
- ElasticSearch入门 :Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- Elasticsearch 7.x 最详细安装及配置
Elasticsearch 7.x 最详细安装及配置 一.Elasticsearch 7.x 小马哥说过,学习技术栈得看版本,那么 Elasticsearch 7.x 有什么好的特性呢? ES 7.0 ...
- Elasticsearch及相关插件的安装
Elasticsearch及相关插件的安装 1.安装Elasticsearch并启动服务 2.安装第三方插件 2.1.Head插件 是Elasticsearch的一个集群管理工具,可以通过它来查看和搜 ...
- 一步一步教你elasticsearch在windows下的安装
首先下载最新的elasticsearch安装版本:elasticsearch下载.下载最新的elasticsearch 0.90.1版本.下载完成后.解压缩在安装目录.在cmd命令行进入安装目录,再进 ...
- Elasticsearch在Windows下的安装
下载Elasticsearch,地址:elasticsearch.org/download 下载jdk,百度搜索jdk下载即可 配置JAVA_HOME变量,配置方法在此文:http://jingyan ...
- Windows 10 安装ElasticSearch(2)- MSI安装ElasticSearch和安装Kibana
翻阅上篇文章:Windows 10 安装 ElasticSearch 上次写的是下载Zip包安装的,在下载页面 发现有 MSI (BETA) 的下载可选项.了解之后发现MSI安装也值得尝试. MSI安 ...
- elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)
一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...
- ElasticSearch(六):安装中文分词器插件smartcn
首先进入elasticsearch的bin目录 然后执行 # sh elasticsearch-plugin install analysis-smartcn 安装完成后,需要重启elasticse ...
随机推荐
- mac os 使用 from scipy.misc import imread ImportError: cannot import name 'imread'
mac os 使用 from scipy.misc import imread ImportError: cannot import name 'imread' 问题1: 我原先安装了 pillow ...
- [转帖]PostgreSQL的时间/日期函数使用
PostgreSQL的时间/日期函数使用 https://www.cnblogs.com/mchina/archive/2013/04/15/3010418.html 这个博客的 文章目录比上一个好十 ...
- 不依赖Spring使用AspectJ达到AOP面向切面编程
网上大多数介绍AspectJ的文章都是和Spring容器混用的,但有时我们想自己写框架就需要抛开Spring造轮子,类似使用原生AspectJ达到面向切面编程.步骤很简单,只需要两步. 1.导入依赖 ...
- golang学习笔记----源码文件
GO源码文件
- 在Windows10 安装 Linux 子系统
在工作中我们经常需要在Windows中安装Linux系统来完成一些工作,通常使用VMware.virtualpc,Hyper-V等虚拟化技术来实现,Now,我们有了更便利的方法来实现,这就是Windo ...
- 【转】常用PLC通讯协议
三菱FX系列PLC通讯测试 发送帧(Hex): 起始(STX) 02 命令(CMD) 30 首地址(ADDRESS) 30 30 41 30 字节数(BYTES) 30 31 终止(ETX) 03 校 ...
- 【linux】CentOS 6 使用cron定时任务,报错:Redirecting to /bin/systemctl restart crond.service
在centos7上,执行cron定时任务的相关命令,反馈如下: 定时任务执行,反馈是: Redirecting to /bin/systemctl restart crond.service 原因: ...
- java获取调用当前方法的方法名和行数
java获取调用当前方法的方法名和行数String className = Thread.currentThread().getStackTrace()[2].getClassName();//调用的 ...
- mysql解决Fatal error encountered during command execution. 500内部错误
Asp.net 连接mysql 会出现Fatal error encountered during command execution.的错误 解决办法如下: 连接字符串添加 Allow User ...
- vue v-for 使用问题整理
今天使用v-for指令的时候遇到一个错误 [Vue warn]: Error in render: "TypeError: Cannot read property 'children' o ...