分布式搜索引擎Elasticsearch PHP类封装 使用原生api
- //官方的 php api写的鸡肋了,下面这个类可以使用 es api 操作.
- <?php
- class ElasticSearch {
- public $index;
- function __construct($server = 'http://localhost:9200'){
- $this->server = $server;
- }
- function call($path, $http = array()){
- if (!$this->index) throw new Exception('$this->index needs a value');
- return json_decode(file_get_contents($this->server . '/' . $this->index . '/' . $path, NULL, stream_context_create(array('http' => $http))));
- }
- //curl -X PUT http://localhost:9200/{INDEX}/
- function create(){
- $this->call(NULL, array('method' => 'PUT'));
- }
- //curl -X DELETE http://localhost:9200/{INDEX}/
- function drop(){
- $this->call(NULL, array('method' => 'DELETE'));
- }
- //curl -X GET http://localhost:9200/{INDEX}/_status
- function status(){
- return $this->call('_status');
- }
- //curl -X GET http://localhost:9200/{INDEX}/{TYPE}/_count -d {matchAll:{}}
- function count($type){
- return $this->call($type . '/_count', array('method' => 'GET', 'content' => '{ matchAll:{} }'));
- }
- //curl -X PUT http://localhost:9200/{INDEX}/{TYPE}/_mapping -d ...
- function map($type, $data){
- return $this->call($type . '/_mapping', array('method' => 'PUT', 'content' => $data));
- }
- //curl -X PUT http://localhost:9200/{INDEX}/{TYPE}/{ID} -d ...
- function add($type, $id, $data){
- return $this->call($type . '/' . $id, array('method' => 'PUT', 'content' => $data));
- }
- //curl -X GET http://localhost:9200/{INDEX}/{TYPE}/_search?q= ...
- function query($type, $q){
- return $this->call($type . '/_search?' . http_build_query(array('q' => $q)));
- }
- }
分布式搜索引擎Elasticsearch PHP类封装 使用原生api的更多相关文章
- 分布式搜索引擎Elasticsearch在CentOS7中的安装
1. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要. 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百 ...
- ElasticSearch logo 分布式搜索引擎 ElasticSearch
原文来自:http://www.oschina.net/p/elasticsearch Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中 ...
- 分布式搜索引擎Elasticsearch的简单使用
官方网址:https://www.elastic.co/products/elasticsearch/ 一.特性 1.支持中文分词 2.支持多种数据源的全文检索引擎 3.分布式 4.基于lucene的 ...
- 快速掌握分布式搜索引擎ElasticSearch(一)
前言 由于最近在项目中接触使用到了ElasticSearch,从本篇博客开始将给大家分享这款风靡全球的产品.将涉及到ElasticSearch的安装.基础概念.基本用法.高级查询.中文分词器.与Spr ...
- 分布式搜索引擎Elasticsearch的架构分析
一.写在前面 ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据 ...
- 分布式搜索引擎Elasticsearch性能优化与配置
1.内存优化 在bin/elasticsearch.in.sh中进行配置 修改配置项为尽量大的内存: ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长时间GC ...
- 分布式搜索引擎ElasticSearch+Kibana (Marvel插件安装详解)
在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsear ...
- 分布式搜索引擎Elasticsearch的查询与过滤
一.写入 先来一个简单的官方例子,插入的参数为-XPUT,插入一条记录. curl -XPUT 'http://localhost:9200/test/users/1' -d '{ "use ...
- ElasticSearch 工具类封装(基于ElasticsearchTemplate)
1.抽象接口定义 public abstract class SearchQueryEngine<T> { @Autowired protected ElasticsearchTempla ...
随机推荐
- Pairs Forming LCM(素因子分解)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/B 全题在文末. 题意:在a,b中(a,b<=n) ...
- Scikit-Learn模块学习笔记——数据集模块datasets
scikit-learn 的 datasets 模块包含测试数据相关函数,主要包括三类: datasets.load_*():获取小规模数据集.数据包含在 datasets 里 datasets.fe ...
- Could not load file or assembly 'MySql.Data.CF,
Could not load file or assembly 'MySql.Data.CF, Version=6.4.4.0, Culture=neutral, PublicKeyToken=c56 ...
- ANE接入平台心得记录(安卓)
开发环境:FlashBuilder4.7 AIR13.0 Eclipse 由于我懒得陪安卓的开发环境所以我下载了包含安卓SDK Manager的Eclipse,其实直接用FlashBuilder开发A ...
- json注入
- 64位win7硬盘安装64位ubuntu 13.04
最近本来是准备通过升级的方式把ubuntu从12.04升级到12.10再升级到13.04的,但是升级到12.10之后,可能是因为某一步的操作不当,出现无法进入系统的情况.不过还好的是升级之前保存了主要 ...
- iOS Block详细介绍(block实现)
Block的实现 数据结构定义 block的数据结构定义如下图 对应的结构体定义如下: struct Block_descriptor { unsigned long int reserved; un ...
- oracle编程总结
1,SEQUENCE的使用 问题:在MSSQL中,我们可以通过设置自增长来作为主键,但是oracle里面没有这个 解决方案:使用SEQUENCE来实现,具体步骤如下 (1)首先建立一个序列(就是每次查 ...
- Codevs 1910递归函数
1910 递归函数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 对于一个递归函数w(a, b, c). 如果a <= ...
- Filestream/Windows Share导致Alwayson Failover失败
最近做了一个case, 客户在ALWAYSON环境下进行failover操作, 之后所有replica上的alwayson group状态变成了resolving. 并且在执行failover的rep ...