好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

sphinxphp的简单介绍

很多站长朋友们都不太清楚sphinxphp,今天小编就来给大家整理sphinxphp,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php windows下怎么安装sphinx,安装后又怎么使用 2、 php怎么连接访问sphinx,coreseek 3、 think php3.2怎么实现sphinx搜索 4、 php 中文分词难题 sphinx php windows下怎么安装sphinx,安装后又怎么使用

1、下载,我这里下的是“Win64 binaries w/MySQL+PgSQL+libstemmer+id64 support”,下载后文件名:sphinx-2.0.6-release-win64-id64-full.zip;

2、将其解压到D: \ sphinx,并在D:\sphinx下新建目录data(用来存放索引文件)与log(用来存放日志文件);

3、将D:\sphinx\sphinx.conf.in复制到D:\sphinx\bin\sphinx.conf.in,并重命名为sphinx.conf;

4、修改 D:\sphinx\bin\sphinx.conf 如下:

4.1、搜索source src1修改{...}中的内容

# 使用的数据库类型

type = mysql

# 服务器

sql_host = localhost

# 数据库登录名

sql_user = root

# 数据库登录密码

sql_pass = root

# 操作的数据库名称

sql_db = test

# 数据库服务器端口

sql_port = 3306

# 设置编码,如果用的是utf-8编码

sql_query_pre = SET NAMES utf-8

(以上7条前如有#将其删除)

4.2、搜索index test1修改{...}中的内容

# 放索引的目录

path = D:/sphinx/data/

# 编码

charset_type = utf-8

# 指定utf-8编码表

charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F

# 简单分词,只有0和1,需要搜索中文必须置1

ngram_len = 1

# 需要分词的字符,搜索中文时必须

ngram_chars = U+3000..U+2FA1F

(以上5条前如有#将其删除)

5、导入测试数据将D:\sphinx\example.sql中语句执行到test数据库中,注意:test数据库创建时需要指定为utf-8格式;

6、打开cmd窗口,进入目录D:\sphinx\bin;

7、建立索引,执行indexer.exe test1,test1即为sphinx.conf中index test1

Sphinx 2.0.6-id64-release (r3473)

Copyright (c) 2001-2012, Andrew Aksyonoff

Copyright (c) 2008-2012, Sphinx Technologies Inc (

using config file './sphinx.conf'...

indexing index 'test1'...

collected 4 docs, 0.0 MB

sorted 0.0 Mhits, 100.0% done

total 4 docs, 222 bytes

total 0.019 sec, 11252 bytes/sec, 202.74 docs/sec

total 2 reads, 0.000 sec, 0.2 kb/call avg, 0.0 msec/call avg

total 9 writes, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg

成功...

8、搜索'test',执行search.exe test

Sphinx 2.0.6-id64-release (r3473)

Copyright (c) 2001-2012, Andrew Aksyonoff

Copyright (c) 2008-2012, Sphinx Technologies Inc ()

using config file './sphinx.conf'...

index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec

displaying matches:

1. document=1, weight=2421, group_id=1, date_added=Tue Feb 26 10:25:31 2013

id=1

group_id=1

group_id2=5

date_added=2013-02-26 10:25:31

title=test one

content=this is my test document number one. also checking search within

phrases.

2. document=2, weight=1442, group_id=3, date_added=Tue Feb 26 10:25:31 2013

id=2

group_id=3

group_id2=6

date_added=2013-02-26 10:25:31

title= ????

content=this is my test document number two ???????

3. document=4, weight=1442, group_id=2, date_added=Tue Feb 26 10:25:31 2013

id=4

group_id=2

group_id2=8

date_added=2013-02-26 10:25:31

title=doc number four

content=this is to test groups

words:

1. 'test': 3 documents, 4 hits

index 'test1stemmed': search error: failed to open D:/sphinx/data/test1stemmed.s

ph: No such file or directory.

最后面的一句error可忽略;

9、搜索中文,首先将数据库中的内容update含有中文,执行sql语句:

UPDATE documents SET title='中文', content='this is my test document number one. also checking search within phrases.含有中文。' WHERE id=1;

UPDATE documents SET title='中文标题', content='this is my test document number one. also checking search within phrases.含有中文内容。' WHERE id=2;

UPDATE documents SET title='中文标题测试', content='this is my test document number one. also checking search within phrases.含有中文内容。' WHERE id=3;

重新建立索引(执行第7步);

然后执行search.exe 中文

Sphinx 2.0.6-id64-release (r3473)

Copyright (c) 2001-2012, Andrew Aksyonoff

Copyright (c) 2008-2012, Sphinx Technologies Inc ()

using config file './sphinx.conf'...

indexing index 'test1'...

collected 4 docs, 0.0 MB

sorted 0.0 Mhits, 100.0% done

total 4 docs, 349 bytes

total 0.025 sec, 13808 bytes/sec, 158.26 docs/sec

total 2 reads, 0.000 sec, 0.3 kb/call avg, 0.0 msec/call avg

total 9 writes, 0.000 sec, 0.2 kb/call avg, 0.0 msec/call avg

D:\sphinx\bin>search.exe 中文

Sphinx 2.0.6-id64-release (r3473)

Copyright (c) 2001-2012, Andrew Aksyonoff

Copyright (c) 2008-2012, Sphinx Technologies Inc ()

using config file './sphinx.conf'...

index 'test1': query '中文 ': returned 0 matches of 0 total in 0.000 sec

words:

index 'test1stemmed': search error: failed to open D:/sphinx/data/test1stemmed.s

ph: No such file or directory.

没有搜索到,因为windows命令行中的中文时GBK编码格式,所以没有匹配内容。我们可以使用PHP程序来试试;

10、进入D:\sphinx\api\目录,可以发现sphinx支持php、java、ruby调用,并提供对应的test例子,这里我们使用php来操作,首先将api复制到D:\www\下并重命名为sphinxapi,因为我本机上apache的web目录为D:\www,在D:\www\sphinxapi\下新建search.php,内容为:

<?php

require 'sphinxapi.php';

$s = new SphinxClient();

$s->SetServer('localhost', 9312);

$result = $s->Query('中国');

print_r($result);

echo '<br /><br />';

$result = $s->Query('中文');

print_r($result);

?>

然后回到cmd命令行中,开启sphinx服务,执行searchd.exe(这个必须要执行的)

Sphinx 2.0.6-id64-release (r3473)

Copyright (c) 2001-2012, Andrew Aksyonoff

Copyright (c) 2008-2012, Sphinx Technologies Inc ()

using config file './sphinx.conf'...

WARNING: compat_sphinxql_magics=1 is deprecated; please update your application

and config

WARNING: preopen_indexes=1 has no effect with seamless_rotate=0

listening on all interfaces, port=9312

listening on all interfaces, port=9306

precaching index 'test1'

precaching index 'test1stemmed'

WARNING: index 'test1stemmed': preload: failed to open D:/sphinx/data/test1stemm

ed.sph: No such file or directory; NOT SERVING

precaching index 'rt'

WARNING: index 'rt': preload: failed to open @CONFDIR@/data/rt.lock: No such fil

e or directory; NOT SERVING

precached 3 indexes in 0.018 sec

成功...

然后在浏览器中执行,打印出来的数组结果可以很清晰的看见搜索的结果比对。。。

11、至此sphinx在windows下的简单安装与使用就完成了。

php怎么连接访问sphinx,coreseek

修改配置文件,

建立分词索引,

启动sphinx的服务,

将sphinx类文件放在项目中,

引入,实例化类,

设置sphinx服务地址和端口号,

然后就可以调用query方法检索,

以上,作为一款免费的中文分词软件很不错....

think php3.2怎么实现sphinx搜索

今天开始通过php程序使用sphinx搜索,以后做为记录

1.启动sphinx服务

/usr/local/coreseek/bin/searchd 其中几个参数可以通过 -h查看

-c, -config <file> 指定coreseek中的配置文件(默认为csft.conf),位置为/usr/lcoal/coreseek/etc/中

–stop 用来停掉 searchd,使用csft.conf中所指定的PID文件,因此您可能还需要用

–config选项来确认searchd使用哪个配置文件。

值得 注意的是,调用 –stop 会确保用 UpdateAttributes() 对索引进行的更动会反应到实际的索引文件中去。示例: $ searchd –config /usr/lcoal/coreseek/etc/csft.conf –stop

–status 用来查询运行中的searchd实例的状态,使用指定的(也可以不指定,使用默认)配置文件中描述的连接参数。它通过配置好的第一个UNIX套接字或 TCP端口与运行中的实例连接。一旦连接成功,它就查询一系列状态和性能计数器的值并把这些数据打印出来。在应用程序中,可以用Status() API调用来访问相同的这些计数器

具体可以参考:参数说明

2.php加载sphinx模块,要想在php中使用sphinx一般有两种方式

2.1 加载sphinx模块

2.2 引入sphinxapi类(/home/book/Downloads/sphinx/coreseek-3.2.14/csft-3.2.14/api/目录中) 考虑到每个使用sphinx的php文件都得引入sphinxapi类,为了方便与学习,尝试用加载模块的办法。

步骤一 wget

步骤二 tar zxf sphinx-1.1.0.tgz cd sphinx-1.1.0 /usr/local/php/bin/phpize (生成config文件) ./configure –with-php-config=/usr/local/php/bin/php-config 提示出错 checking for libsphinxclient headers in default path …… 找到libsphinxclient 在之前的 /home/book/Downloads/sphinx/coreseek-3.2.14/csft-3.2.14/api/目录下 进入相关目录安装 ./configure make make install 安装完 libsphinxclient 然后继续安装sphinx扩展

php 中文分词难题 sphinx

1.看一下bin目录是否存在search.exe

如果不存在,就不能用search命令,看你下载到的是什么版本,有些版本是没有这个文件的。

2.Query()的两个参数,第一个是搜索的关键词,第二个是索引。

没有结果的话,请确保你的数据中有那个关键词,还要确保索引存在,并配置正确。

以前弄这个的时候,我写了篇笔记:

有兴趣可以去看一下。

关于sphinxphp的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于sphinxphp的简单介绍的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did168791
更新时间:2023-04-11   阅读:30次

上一篇: phplike判断 php或者判断

下一篇:什么叫php扩展 php的扩展

相关资讯

最新资料更新

  • 1.织梦DedeCMS各种自定义当前位置顺序的方法
  • 2.dedecms教程之dedecms生成速度提速的方法
  • 3.织梦DEDECMS网站栏目页获取当前顶级栏目名称的标签
  • 4.dedecms实现游客可以提问、回答及查看的方法
  • 5.织梦dedecms修改任意管理员漏洞处理方法
  • 6.DEDECMS实现自定义表单(模型)分步提交实现思路
  • 7.织梦DedeCms的安全问题解决办法(安全设置)
  • 8.DEDECMS删除空间中多余的没有被引用的图片
  • 9.DedeCMS Error Warning!提示信息的修改方法
  • 10.DEDECMS列表页文档按权重排序的实现方法
  • 11.DedeCms后台添加编辑文章空白的解决方法
  • 12.dede5.7验证码错误不显示的解决方法
  • 13.dede标签云如何生成不同颜色、不同大小的tag标签
  • 14.解决Dedecms生成RSS地图地址出错全都多了一个网址的问题
  • 15.dedecms调用栏目名称与栏目链接地址的方法分析
  • 16.dedecms首页添加根据IP访问区域跳转对应页面的方法
  • 17.详解dedecms使用整合阿里大鱼短信接口进行短信发送的教程
  • 18.dedecms获取图片集多张图片实现方法(循环输出)
  • 19.织梦DEDECMS实现留言板调用模板头部及底部的方法
  • 20.DedeCms调用分类信息到首页并和栏目整齐排序方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]