PHP----sphinx

  1. Sphinx (全文索引引擎)

  2. MyISAM 引擎中的全文索引是专门对文本创建索引的,支持英文,但对中文的支持不好

  3. Coreseek 是一款中文全文检索/搜索软件,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域

适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景

Coreseek 下载: http://www.coreseek.com

Sphinx为其他应用提供高速、低空间占用、搜索结果高相关度的全文搜索功能

内置MySQL和PostgreSQL数据库数据源的支持。搜索API支持PHP、Python、Perl、Rudy和Java

注:Sphinx的Windows版可用于测试和调试,但不建议用于生产系统。

  1. 缺少并发查询的支持
  2. 缺少索引数据热切换的支持
    数据源: 索引的数据可以来自不同的来源:SQL数据库、纯文本、HTML文本、邮件等。

限制: 每一个文档必须有一个ID,并且类型必须为唯一的、非零非负的整数

searchd开启服务端 
searchd -c 配置文件 索引名称(允许查询的索引的名字)
服务器端默认监听 9312 端口。
 
常用命令:
-c : 指定配置文件路径
--stop : 停止当前服务
--status : 查看当前状态
--install : 安装为 windows 服务
--delete: 删除windows服务
--port  port: 监听的端口
--index  indexName : 只查询某个索引,默认查询所有索引
操作
--->建立索引(对DB)--->通过phpAPI查询--->根据phpAPI返回结果再去查询DB
1. 准备数据:数据库引擎为-MyISAM
SET NAMES utf8;
USE test;   # 使用test数据库
DROP TABLE IF EXISTS curl_songs;   # 如果curl_songs已经存在,就删除。
CREATE TABLE curl_songs
(
    id int unsigned not null auto_increment,
    title varchar(30) not null default '',
    author varchar(30) not null default '',
    content text,
    primary key (id)
)engine=MyISAM default charset=utf8;


2. 自我复制数据150万:
insert into curl_songs(title,author,content)select title,author,content from curl_songs;


3. 解压coreseek.tar文件
indexer.exe---创建索引文件的命令
search.exe----测试用
searchd.exe---sphinx服务器端的命令,在生成索引文件后需要开启服务让PHP来连接
1) 将/etc/csft.mysql.conf 复制一份重命名为sphinx.conf并放在D:/sphinc/下
2) 新建日志文件(log.txt, query.txt)放在D:/sphinx/下
3) 指定中文词库文件(在sphinx.conf指定)


4. 用sphinx生成索引---indexer -c 配置文件 索引名称(--all代表所有索引)
E:\DB_NoSQL\sphinx\coreseek-3.2.14-win32\bin\indexer.exe -c D:/sphinx/sphinx.conf --all		
可能出现问题:
ERROR: invalid token in D:/sphinx/sphinx.conf line 1 col 1. 将sphinx.conf文件另存为无BOM格式


5. php查询--开启sphinx服务器
win7下可能无法启动服务,--只能用命令窗口式启动:searchd -c d:/sphinx/sphinx.conf
#E:\DB_NoSQL\sphinx\coreseek-3.2.14-win32\bin\searchd.exe -c D:/sphinx/sphinx.conf --install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值