查问我看笔记功能的实现过程-全文搜索待开启,试试yiisoft/yii2-sphinx

yii2框架中使用sphinx使用搜索引擎 多条件选择搜索

PHPer 2020-04-07 1634 0 0
这个不是用的Yii2扩展yiisoft/yii2-sphinx的方式去用sphinx的,但是该文章提供了一个使用的思路,把符合条件的内容搜到了后,在把id的集合存到数组,用Yii自己的数据库模型去调用具体的搜索结果。 $res = $cl->Query ( $key, "mysql" ); if($res['total_found'] > 0){ $ids = []; foreach ( $res['matches'] as $key => $row ) { $ids[] = $row['id']; } $query = new Query(); $list = $query->select('j_id, post_tempt, ask_for')->from('job')->where(['in', 'j_id', $ids])->all();

https://blog.csdn.net/var_dz/article/details/53163389

最后发布于2016-11-14 19:52:45

首先,你需要安装spinx,具体安装可以百度一份如何安装,网上有很多,就不说了,

那么,安装完成后,打开sphinx(即你所建的sphinx安装目录),

找到这个文件,sphinx/etc/csft_mysql.conf文件,

在编译器中,打开这个文件,修改sphinx的源文件,配置

改完配置后,停止sphinx服务,打开cmd,进入到你安装的sphinx安装目录中

建立索引,

索引建立成功,开启sphinx服务

在使用sphinx之前,你需要把sphinx/api/sphinxapi.PHP文件,复制一份,放到yii2的web中,

与你的入口文件保持同级,方便调用

创建控制器,

[html] view plain copy

<?php

namespace frontend\controllers;

use Yii;

use app\models\Position;

//use yii\data\Pagination;//分页类

use yii\db\Query;//搜索类

class IndexController extends \yii\web\Controller

{

//下拉选项字段 搜索值

public function actionSearch_val()

{

$set = Yii::$app->request->get('set','');//接收搜索类型

$key = Yii::$app->request->get('key','');//接收值

require ( "sphinxapi.php" );//引入类

if(yii::$app->request->isAjax){

//echo $key.$set;die;

$cl = new SphinxClient ();

$cl->SetServer ( '127.0.0.1', 9312);

$cl->SetConnectTimeout ( 3 );

$cl->SetArrayResult ( true );

if(empty($key)){

$cl->SetMatchMode ( SPH_MATCH_FULLSCAN );

}else{

$cl->SetMatchMode ( SPH_MATCH_EXTENDED2 );

if($set == 1){

$key = $key;

}else if($set == 2){

$key = '@post_tempt ' .$key;

}else if($set == 3){

$key = '@ask_for ' .$key;

}

}

$res = $cl->Query ( $key, "mysql" );

if($res['total_found'] > 0){

$ids = [];

foreach ( $res['matches'] as $key => $row ) {

$ids[] = $row['id'];

}

$query = new Query();

$list = $query->select('j_id, post_tempt, ask_for')->from('job')->where(['in', 'j_id', $ids])->all();

//print_r($list);

} else {

$list = [];

}

Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;...

立即注册

更新于:2020-04-07 00:26:12
    您需要登录后才可以评论。 立即注册
    相关内容

    使用Yii2遇到的问题整理

    Yii2用composer更新时遇到的错误

    Yii2 用composer update 时提示'git' 不是内部或外部命令,也不是可运行的程序或...

    Yii2​用composer安装kartik-v/yii2-mpdf时报错,成功解决后,再让其支持中文。

    使用Yii2的setFlash和bootstrap.min.js遇到的问题,bootstrap.min.js的bug?

    Yii2的action不支持大小写吗?其实是支持的

    composer install 使用tips-网上找的composer install的使用技巧方法

    查问我看笔记功能的实现过程-全文搜索待开启,试试yiisoft/yii2-sphinx

    yii2框架中使用sphinx使用搜索引擎 多条件选择搜索

    运行php composer.phar require --prefer-dist yiisoft/yii2-sphinx

    Yii2模型简介

    Yii2模型简介-属性

    Yii2模型简介-场景

    Yii2模型简介-验证规则

    Yii2模型简介-块赋值

    Yii2模型简介-非安全属性

    Yii2模型简介-数据导出

    Yii2模型简介-字段

    Yii2模型简介-最佳实践

    Yii中DataProvider的使用

    Yii2学习内容整理之二------Yii2的学习和使用

    karpoff\icrop\CropImageUpload 使用中遇到的问题CropImageUploadBehavio...

    Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法

    PHP报错The each() function is deprecated. This message will be suppr...

    Yii报错Syntax error or access violation: 1142 DROP command denied to...

    Yii 配置中设置mysql端口号其实很简单,请看下面的代码

    Yii2用QueryList采集时报错,Fatal error: Array and string offset acc...

    PHP报错Undefined constant "Socket\Raw\AF_INET"的原因以及解决方法

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    使用V2Ray的mKCP协议加速游戏