今天研究了一下window下安装sphinx,终于是把sphinx服务安装了(只限CMD端),至于如何在用PHP查询还在研究中,就说说一下如何在window下安装sphinx服务端大概流程:

1.首先查看服务器mysql 的版本,找对应的数据库版本对应SphinxSE下载,下载两个文件:mysql-5.0.45-sphinxse-0.9.8-win32.zip和sphinx-0.9.8.1-win32.zip,下载地址:http://sphinxsearch.com/downloads/archive/,查看服务器mysql版本可能用status命令查看:如图

2.如果服务器处于启状态,可以先关闭mysql服务器

3.解压mysql-5.0.45-sphinxse-0.9.8-win32.zip,将里面bin与share目录覆盖掉你的mysql安装目录下的相应目录 ,解压sphinx-0.9.8.1-win32.zip压缩包文件到d:websphinx 因为wamp服务器所有文件都放在web下,这里为了管理方便就统一放在web下。

4.下面就弄sphinx配置了,在sphinx目录下sphinx-min.conf.in拷贝一份重命名后缀名为.conf 的文件,这里我命名为sphinx-doc.conf

复制内容到剪贴板

# Minimal Sphinx configuration sample (clean, simple, functional)

#

# type----------------------------------------数据库类型,目前支持 mysql 与 pgsql

# strip_html--------------------------------是否去掉html 标签

# sql_host----------------------------------数据库主机地址

# sql_user----------------------------------数据库用户名

# sql_pass----------------------------------数据库密码

# sql_db-------------------------------------数据库名称

# sql_port-----------------------------------数据库采用的端口

# sql_query_pre--------------------------执行sql前要设置的字符集,用utf8必须SET NAMES utf8

# sql_query---------------------------------全文检索要显示的内容,在这里尽可能不使用where或 group by,将 where 与 groupby 的内容交给 sphinx,由 sphinx 进行条件过滤与 groupby 效率会更高

# 注意: select 出来的字段必须至少包括一个唯一主键 (ARTICLESID) 以及要全文检索的字段,你计划原本在 where 中要用到的字段也要 select 出来

# 这里不用使用orderby

# sql_attr_ 开头的表示一些属性字段,你原计划要用在 where, orderby, groupby 中的字段要在这里定义(# 为自己添加的注释内容)

#source 数据源名:

source documents

{

type             = mysql

sql_host     = localhost

sql_user      = root

sql_pass     =

sql_db         = DB_9streets

sql_port       = 3306 # optional, defaultis 3306

sql_query_pre     = SET NAMES utf8

sql_query     =

SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content

FROM documents

sql_attr_uint    = group_id

sql_attr_timestamp   = date_added

sql_query_info    = SELECT * FROM documents WHERE id=$id

}

index documents

{

source      = documents

#path   索引记录存放目录,如 d:/sphinx/data/cgfinal ,实际存放时会存放在 d:/sphinx/data 目录,然后创建多个 cgfinal 名称,不同扩展名的索引文件。

path          = d:/web/sphinx/doc

docinfo      = extern

enable_star     = 1

min_word_len     = 3

min_prefix_len     = 0

min_infix_len     = 3

charset_type    = sbcs

# 其他的配置如 min_word_len, charset_type, charset_table, ngrams_chars, ngram_len 这些则是支持中文检索需要设置的内容。

# 如果检索的不是中文,则 charset_table, ngrams_chars, min_word_len 就要设置不同的内容,具体官方网站的论坛中有很多,大家可以去搜索看看。

}

# mem_limit 索引使用内存最大限制,根据机器情况而定,默认是32M,太小的会影响索引的性能。

indexer

{

mem_limit     = 32M

}

# 搜索的守护进程配置

# 在进行全文检索过程中,searchd要先开启,mysql在全文检索时才能连接到sphinx,由sphinx进行全文检索,再将结果返回给mysql

# address 侦听请求的地址,不设置则侦听所有地址

# port 侦听端口

searchd

{

port     = 3312

log       =d:/web/sphinx/logs/searched_doc.log

query_log     = d:/web/sphinx/logs/query_doc.log

read_timeout    = 5

max_children    = 30

pid_file     = d:/web/sphinx/logs/searched-doc.pid

max_matches     = 1000

seamless_rotate    = 0

preopen_indexes    = 0

unlink_old     = 1

}

注意哦:配置要根据具体的服务器环境去设置,然后再copy一份到sphinxin目录下,命名和刚才重命名文件一样为sphinx-doc.conf

5.导入sphinx包下example.sql,自带sql文件数据库为test,或修改自带sql数据库名,也可以根据自身数据库导入:

复制内容到剪贴板

CREATE TABLE `documents` (

`id` int(11) NOT NULL auto_increment,

`group_id` int(11) NOT NULL,

`group_id2` int(11) NOT NULL,

`date_added` datetime NOT NULL,

`title` varchar(255) NOT NULL,

`content` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=5;

INSERT INTO `documents` VALUES ('1','1','5','2008-09-13 21:37:47','test one','this is my test document number one. also checking search within phrases.');

INSERT INTO `documents` VALUES ('2','1','6','2008-09-13 21:37:47','test two','this is my test document number two');

INSERT INTO `documents` VALUES ('3','2','7','2008-09-13 21:37:47','another doc','this is another group');

INSERT INTO `documents` VALUES ('4','2','8','2008-09-13 21:37:47','doc number four','this is to test groups');

6.在 cmd 模式下(不了解CMD下操作,可以进入相关了解了解),在sphinx/bin目录下:

复制内容到剪贴板

indexer.exe --config d:/web/sphinx/bin/sphinx-doc.conf documents

7.运行检索守护进程 searchd.exe(注:如要把phinx安装成系统服务,在后台运行,可用searchd.exe --config d:/web/sphinx/bin/sphinx-doc.conf  --install):

复制内容到剪贴板

searchd.exe --config d:/web/sphinx/bin/sphinx-doc.conf

8. 查找关键词search.exe this is m

复制内容到剪贴板

search.exe -c sphinx-doc.conf this is m

运行了出现警告,(暂未找到原因,先忽略),说明我们的 Sphinx 已经正常运行了!

ps:PHP乍么连接起来还在研究中?找不到在window下对应的sphinx模块,有好方案的同学们,欢迎交流

---------------------------------------------window下安装sphinx实例华丽分割线-----------------------------------------------------

下面是PHP调用方法实例:

1.把sphinx/api目录拷贝到服务器某个项目中,在项目api文件夹里面建一个index.php的文件 ,写入以下代码:

复制内容到剪贴板

require("sphinxapi.php");

$host="dwz.com";

$port= 3312;

$sc=newSphinxClient();// 实例化Api

$sc->setServer('dwz.com', 3312);// 设置服务端,第一个参数sphinx服务器地址,第二个sphinx监听端口

$res=$sc->query('test','documents');// 执行查询,第一个参数查询的关键字,第二个查询的索引名

$ids= join(',',array_keys($res['matches']));

print_r($ids);// 获取主键

?>

运行结果下:

复制内容到剪贴板

1,2,4

这里说明PHP调用sphinx成功了,剩下的就是php调用sphinx具体用法的深入研究了

mysql sphinx windows安装_window下安装sphinx实例相关推荐

  1. Windows Server 2012下安装Hyper-V虚拟机

    Windows Server 2012下安装Hyper-V虚拟机 Win server 2012系统中Hyper-V 性能进一步提高,广大爱好者都尝试体验它,可是有不少朋友无法正确安装虚拟机,尽管在网 ...

  2. 解决windows 2003 sp1下安装arcsde 9.0 for sql server 2000 sp4概要方案

    解决windows 2003 sp1下安装arcsde 9.0 for sql server 2000 sp4概要方案 安装sql server 2k sp4到windows 2003 sp1上: 安 ...

  3. Windows、Linux下安装Maven图文教程

    文章目录 一.前言 二.Maven到底是什么? 三.Windows下安装 1.前提 2.下载 3.配置Maven环境变量 4.检查Maven版本 5.安装好以后的几点注意 6.IDEA中修改Maven ...

  4. 用友t3 xp系统服务器,用友T3-财务通windows xp系统下安装sql2005

    用友T3-财务通windows xp系统下安装sql2005用友T3-财务通windows xp系统下安装sql2005 第一次安装好sql2005.T3普及版后点系统管理,会弹出环境监测,主要内容为 ...

  5. tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...

  6. Windows 10系统下安装MATLAB出现Error 1935的应对措施

    Windows 10系统下安装MATLAB出现Error 1935的应对措施 出现该错误的原因是安装过程默认安装的时C++ 2005而不是2008,因此绕开C++ 2005来安装.具体步骤如下: 1. ...

  7. python seaborn安装_Windows下安装pip、matplotlib以及seaborn

    安装Matplotlib 一个有用的python包下载网址 安装python 安装pip(一个python包管理工具) 下载tar.gz包,解压,然后在命令行里进入解压目录,输入 python set ...

  8. opencv python安装 centos_centos下安装opencv

    根据项目需要,安装opencv并提供给开发使用,并且使用opencv提供python3的API接口.虽然不知道是个啥,还是简单了解下. opencv是什么? OpenCV的全称是Open Source ...

  9. windows 7下如何卸载重装mysql 压缩包版百度经验_windows下安装、卸载mysql服务的方法(mysql 5.6 zip解压...

    MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...

  10. Windows Server 2003 下安装Apache+Php+Mysql

    系统环境: Windows Server 2003 Enterprise Edition 所需软件: httpd-2.2.22-win32-x86-no_ssl.msi php-5.4.5-Win32 ...

最新文章

  1. mysql 主从配置
  2. python没有上方工具栏_Python体验(08)-图形界面之工具栏和状态栏
  3. js 获取鼠标在画布的位置_使用faceapi.js轻松将面部识别添加到你的应用程序
  4. axure8 事件改变样式_Axure RP 8 Beta更新介绍(三):部件样式
  5. CAS、AQS、锁以及并发工具
  6. 下午,无心编程,读小诗...
  7. linux常用命令_linux常用命令
  8. PHP安装Xdebug调试工具
  9. 微信红包随机数字_微信红包随机算法初探
  10. 联想服务器控制口登录地址_联想服务器登录管理界面 联想服务器客服
  11. 矩阵相加 / 矩阵相乘(详解版)
  12. Qt ui 到底是什么?
  13. 解决vue3-print-nb打印二维码定位(qrcode.vue) 问题
  14. 【SRAM】CubeMX配置STM32H743+IS61WV204816外部扩展SRAM
  15. activemq保证消息顺序原理
  16. 使用SSH完成linux和windows之间的文件互传(linux端)
  17. mac m1 office卸载重装(学校官方正版)
  18. android 渠道方案,Android 不同渠道差异代码
  19. 购物系统-网上书店 javaweb jsp+Servelt+JDBC连接数据库(源码分享)
  20. 一种可训练的目标检测系统

热门文章

  1. MFC---List Control的用法总结
  2. 发送验证码-整合阿里云短信服务功能与电子邮箱通知功能
  3. Tic Tac Toe简单井字棋
  4. 选择适合esx服务器的性能,Esxtop: 使用性能指标负责ESX的故障诊断
  5. Python 爬虫实践:《战狼2》豆瓣影评分析
  6. Compilation is not supported for following modules
  7. Python3 根据关键字爬取百度图片
  8. 人工智能助力三维几何自动化建模
  9. HSSF、XSSF、SXSSF、对Excel的区别,以及对应不同后缀名Excel(xls,xlsx)的使用
  10. C++/MFC修行之路(6)停靠窗口