Yii  是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。官方网站

ElasticSearch  是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。

Elastica  是用php写的elasticsearch客户端,通过Elastica可很方便的在php应用中访问elasticsearch,如:创建索引,添加文档等。官方网站

在Yii中集成elasticsearch其实非常简单:

第一步:将下载的Elastica整个拷贝到protected/vendors/目录下(注意:如果是从github上clone下来的,应该是Elastica下lib下面的Elastica)

第二步:编写Elastica类自动导入文件,如 ElasticaAutoLoader.php

/**

* Description of ElasticaAutoLoader

*

* @author Owner

*/

class ElasticaAutoLoader {

/**

* @var array class prefixes

*/

static $prefixes = array(

'Elastica'

);

/**

* @var string path to where Zend classes root is located

*/

static $basePath = null;

/**

* Class autoload loader.

*

* @static

* @param string $className

* @return boolean

*/

static function loadClass($className) {

foreach (self::$prefixes as $prefix) {

if (strpos($className, $prefix . '_') !== false) {

if (!self::$basePath)

self::$basePath =

Yii::getPathOfAlias("application.vendors") . '/';

include self::$basePath . str_replace('_', '/', $className) . '.php';

return class_exists($className, false) ||

interface_exists($className, false);

}

}

return false;

}

}

?>

第三步:修改index.php文件

// change the following paths if necessary

$yii=dirname(__FILE__).'/../yii/framework/yii.php';

$config=dirname(__FILE__).'/protected/config/main.php';

// remove the following lines when in production mode

defined('YII_DEBUG') or define('YII_DEBUG',true);

// specify how many levels of call stack should be shown in each log message

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); require_once($yii);

Yii::createWebApplication($config)->run(); 改为:

// change the following paths if necessary

$yii = dirname(__FILE__) . '/../yii/framework/yii.php';

$config = dirname(__FILE__) . '/protected/config/main.php';

// remove the following lines when in production mode

defined('YII_DEBUG') or define('YII_DEBUG', true);

// specify how many levels of call stack should be shown in each log message

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);

require_once(dirname(__FILE__) . '/protected/functions/yii.php');

require_once(dirname(__FILE__) . '/protected/functions/functions.php');

require_once($yii);

$app = Yii::createWebApplication($config);

// adding custom Zend Framework autoloader

Yii::import("application.vendors.*");

Yii::import("application.components.ElasticaAutoLoader", true);

Yii::registerAutoloader(array('ElasticaAutoLoader','loadClass'), true);

$app->run();

完成上面几步就可以直接在程序中使用了!

elastica php yii,Yii 1.1.*集成elasticsearch php 客户端Elastica相关推荐

  1. 第 4-8 课:Spring Boot 集成 ElasticSearch

    ElasticSearch 是⼀个开源的搜索引擎,建⽴在⼀个全⽂搜索引擎库 Apache Lucene™ 基础之上. Lucene 可以说是当下最先进.⾼性能.全功能的搜索引擎库--⽆论是开源还是私有 ...

  2. Java集成ElasticSearch及配置类工具类整理

    Java集成ElasticSearch及配置类工具类整理 前言:做一个有梦想的程序猿! ES不同的版本API差异比较大,此处ES版本为:6.5.3 代码如下: 添加Maven依赖 <!-- ES ...

  3. spring boot集成Elasticsearch客户端

    spring boot整合Elasticsearch客户端 在spring boot程序应用中集成Elasticsearch客户端,并通过配置对连接进行管理. Elasticsearch的客户端Jav ...

  4. Spring Boot 集成 Elasticsearch

    Elasticsearch (简称ES) 是一个基于 Lucene 的分布式.高扩展.高实时的搜索与数据分析引擎.本章介绍 Spring Boot 应用集成 Elasticsearch ,通过 Spr ...

  5. 【Spring Boot】21.集成elasticsearch

    2019独角兽企业重金招聘Python工程师标准>>> 简介 目前对于检索功能比较有名的服务是我们常见的elasticsearch,所以我们这一节的重点,也是针对elasticsea ...

  6. 史上最简单的Elasticsearch教程:SpringBoot集成Elasticsearch 实时流量监测平台

    SpringBoot集成Elasticsearch 实时流量监测平台 目录: 第一章:初尝 Elasticsearch 第二章:玩转 Kibana 第三章:开发原生 Elasticsearch 案例 ...

  7. GitChat优质文章-SpringBoot集成Elasticsearch

    Elasticsearch 是一个基于 Lucene 库的搜索引擎.Elasticsearch 是目前大数据领域最热门的技术栈之一.目前 Elasticsearch 被广泛应用在搜索.安全.数据分析等 ...

  8. springboot集成Elasticsearch实现各种搜索功能

    springboot集成Elasticsearch各类搜索功能实现 springboot集成Elasticsearch使用completion suggest实现自动关键字补全 建立学生的索引和映射: ...

  9. SpringData集成Elasticsearch

    Spring Data 是一个用于简化数据库.非关系型数据库.索引库访问,并支持云服务的 开源框架.其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计 算数据服务. S ...

最新文章

  1. 技术图文:Python魔法方法之属性访问详解
  2. 亲测SQLServer的最大连接数
  3. 【原】让H5页面适配移动设备全家 - 设计师篇 - PPT
  4. gridView总结
  5. CONVERT_DATE_INPUT
  6. 博电继保测试仪说明书_北京博电继电保护测试仪
  7. php 父进程id,PHP pcntl_fork创建进程,复制父进程内存空间上下文
  8. UltraISO/Nero/Daemon Tools
  9. JavaScript设计模式:四、发布订阅模式
  10. r语言 rep(c(1 3) 4),不倒翁-R语言入门系列4-rep函数的用法
  11. 函数9:生成器和 yield 语句
  12. 用Python批量修改图片名称及后缀名
  13. HTML 的静态网页分页样式
  14. 1032 挖掘机技术哪家强 (20 分)
  15. react-native Error installing Flipper-Glog
  16. 今天组里新入职一个31岁的校招生
  17. ftl不存在为真_这个验证贝尔不等式的实验的真实性如何?是否真的意味着量子纠缠的发生是超光速的?...
  18. webmatrix安装_研究:用于前端开发的WebMatrix
  19. TIA Portal V17正式来临,官方链接\ 百度网盘同步下载~
  20. es中ElasticsearchRepository 的原理和使用

热门文章

  1. 《新闻联播》报道百度山西数据标注基地 培育新业态打开新就业空间
  2. kitty终端使用笔记
  3. 深入浅出Java clone技术
  4. Android图片加载框架最全解析(五)
  5. struct模块使用
  6. 用友T3软件超值的打印秘籍,你值得收藏!
  7. android 波斯语,android – 如何在视图中显示波斯语(波斯语)数字
  8. 苹果M1芯片的Mac怎么关闭SIP?M1 mac关闭Sip方法教程!
  9. QT设置默认最大化窗口
  10. linux之调试mipi液晶屏