php 搜索引擎优化(PHP是如何进行搜索引擎开发的嘛的!(上))

优采云 发布时间: 2021-11-17 21:04

  php 搜索引擎优化(PHP是如何进行搜索引擎开发的嘛的!(上))

  听到搜索引擎,大家都觉得很难写,根本没有概念。其实PHP也可以用于搜索引擎开发,但是PHP需要结合sphinx和mysql来开发我们想要的搜索引擎。我想知道 PHP 是如何工作的。搜索引擎已开发!让我们来看看!!

  首先我们下载Sphinx工具,官网下载地址下载地址:,找到sphinx-2.2.10-release-win64.zip,64位下载这个,解压到我们的PHP运行目录下,方便查看以下网页的结果。

  狮身人面像介绍:

  Sphinx 是 SQL Phrase Index(查询短语索引)的缩写。Sphinx 是一个基于 SQL 的全文搜索引擎。提供的API接口包括:PHP、Python、Perl、Ruby、java等,还为MySQL SphinxSE设计了一个引擎插件,是一个分布式全文搜索系统。

  优势:

  高速分度可达10M/s

  高性能搜索(在2-4G文本数据上,每次检索平均响应时间小于0.1秒)

  可处理海量数据(目前已知可处理100G文本数据,单CPU系统可处理100M文档)

  提供优秀的关联算法,基于词组相似度和统计BM2的复合Ranking方法

  支持分布式搜索

  提供文档片段生成功能

  可作为Mysql存储引擎提供搜索服务

  支持布尔、词组、词相似等多种检索模式。

  缺点:

  必须有主键

  主键必须是整数

  不负责数据存储

  不灵活的配置

  解压后的sphinx结构如图:

  

  下面是进行我们的相关配置,看到图片中的sphinx-min.conf.in,复制到我们的bin目录下,改名为sphinx.conf一会。

  修改内容:

  source src1

{

type = mysql

sql_host = localhost #主机地址

sql_user = root#帐号

sql_pass = #密码

sql_db = sphinx #数据库

sql_port = 3306 # 数据库端口 3306

sql_query = SELECT id, name, age FROM users #查询语句

sql_attr_uint = group_id

sql_attr_timestamp = date_added

sql_query_pre = set names utf8 #数据库编码

}

index test1

{

source = src1

path = D:/myapaphe/www/sphinx/data #这个一定要配置

charset_type = utf-8 #指定编码

ngram_len = 1 #要找中文需指定为1.

ngram_chars = U+3000..U+2FA1F

}

indexer

{

mem_limit = 128M

}

searchd

{

listen = 9312

listen = 9306:mysql41

log = D:\myapaphe\www\sphinx\log\searchd.log #进程日志

query_log = D:\myapaphe\www\sphinx\log\query.log #查询日志

read_timeout = 5

max_children = 30

pid_file = D:\myapaphe\www\sphinx\log\searchd.pid

seamless_rotate = 1

preopen_indexes = 1

unlink_old = 1

workers = threads # for RT to work

binlog_path = D:\myapaphe\www\sphinx\data

}

  以上是必须配置的,路径必须符合自己的路径。

  接下来生成查询索引:

  

  安装 searchd 服务:

  

  接下来加载配置文件:

  

  启动服务:

  

  OK前面的配置工作,服务启动已经完成,现在开始代码:

  在sphinx下的api文件夹下创建test3.php,运行test3.php

<p>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线