山山未迟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

三、使用php查询测试

1、要拷贝sphinx的接口文件到php项目中来。

wps8750.tmp

具体的代码:

wps87A0.tmp

wps87B0.tmpwps87B1.tmpwps87C2.tmp

wps87D2.tmpwps8831.tmpwps8832.tmp

wps88C0.tmp

四、查询的关键词要添加样式显示

使用:$sc->buildExcerpts()来完成对应关键词添加样式来显示

$sc->buildExcerpts(一条记录的数组,索引的名字,查询的关键词,关键词添加的样式)

$sc->buildExcerpts(一条记录的数组,索引的名字,查询的关键词,array(

‘before_match’=>’<font color=”red”/>’,

‘after_match’=>’</font>’

))

该函数返回的是一个索引的数组,因此在输出时要使用下标来显示

wps893E.tmp

五、SPHINX的匹配模型

1、SPH_MATCH_ALL 完全匹配所有的词

如“冬天  的   雪”,并不会匹配 “我爱冬天”,

可以匹配 “我朋友,爱冬天,和”。

因为“冬天的雪” 被分成 “冬天”,“的”,“雪”三个词,匹配条件是同时包含

这三个词,“我爱冬天”里只包含一个“冬天”

2、SPH_MATCH_ANY: 匹配任意一个词

如“冬天   的     雪”,并会匹配 “我爱冬天”。

"冬天的雪“ -》 ”冬天“ ”的“ ”雪“

因为“我爱冬天”里有一个“冬天”相匹配。

3、

wps895E.tmp

4、

wps897E.tmp

5、

wps899F.tmp

六、增量索引建立

原来有1000万条记录,建立完成索引了,

后来又添加了500条记录,

思路:把后面添加的记录单独建立索引,建立的增量索引再合并到主索引上面。

具体实时:

(1)新建一张表,用于记录电影最大的id,当主索引建完之后,表里面就记录最大的id,

(2)建立增量索引是主查询,就使用条件了。

select id,title,description from dede_archives where id>(select max_id from a)

wps8A3C.tmp

步骤:

(1)新建一张表

create table a(max_id int);

wps8A5C.tmp

(2)修改主数据源

wps8A7C.tmp

(3)添加增量数据源

wps8A9D.tmp

(4)配置增量索引

wps8ABD.tmp

(5)重新建立主索引

wps8B2B.tmp

添加数据,进行建立增量索引

wps8B3C.tmp

(6)把增量索引合并到主索引上面

indexer  -c配置文件  --merge  主索引的名字  增量索引的名字  --rotate(不关闭服务强制合并)

wps8B5C.tmp

PHP如何发邮件?

知识点:邮件相关的协议:

smtp:发邮件,端口:25

pop3:收邮件,端口:110

1、要有邮件服务器

a) 自己搭建一个邮箱服务器

b) 使用现有的:126、163等等。

163发邮件的接口:smtp.163.com

2、在163注册一个邮箱账号

在php中发送邮件使用一个 phpmailer的类。

phpmailer发送邮件示例

注意事项:

启用fsockopen函数

首先,在php.ini中去掉下面的两个分号

复制代码 代码示例:

;extension=php_sockets.dll

;extension=php_openssl.dll

代码案例:

<?php

require 'PHPMailer/class.phpmailer.php';

$mail             = new PHPMailer();

/*服务器相关信息*/

$mail->IsSMTP();                        //设置使用SMTP服务器发送

$mail->SMTPAuth   = true;               //开启SMTP认证

$mail->Host       = 'smtp.163.com';        //设置 SMTP 服务器,自己注册邮箱服务器地址

$mail->Username   = 'phpdaxia001';   //发信人的邮箱名称

$mail->Password   = 'php1234';          //发信人的邮箱密码

/*内容信息*/

$mail->IsHTML(true);          //指定邮件格式为:html

$mail->CharSet    ="UTF-8";      //编码

$mail->From       = 'phpdaxia001@163.com';  //发件人完整的邮箱名称

$mail->FromName   = '地球球长委员会';  //发信人署名

$mail->Subject    = "地球的球长选举";    //信的标题

$mail->MsgHTML("尊敬的用户:明天开会,会后,我请客");    //发信主体内容

        /*发送邮件*/

$mail->AddAddress("phpdaxia001@163.com");    //收件人地址

        //使用send函数进行发送

if($mail->Send()) {

echo 'ok ok';

} else {

            echo $mail->ErrorInfo;//如果发送失败,则返回错误提示

}

完成用户注册完成后,要通过邮箱验证。如果用户密码忘了,可以通过邮箱找回密码

create table user(

            id int primary key auto_increment,

            username   varchar(32) not null comment '用户的名称',

            password   char(32) not null comment '用户的密码',

            active  tinyint  not null default 0  comment '激活的标志,0表示没有激活,1表示已经激活',

            validate varchar(32) not null comment '激活的用户的校验码',

            question varchar(32) not null comment '问题的名称',

            answer varchar(32) not null comment '问题的答案'

)

完成用户注册,找回密码案例

建表:

wps55C2.tmp

案例:

register.html用户注册页面:

action.php是处理用户注册 激活 验证 找回密码 页面

posted on 2016-05-08 22:33  山山未迟  阅读(156)  评论(0编辑  收藏  举报