Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,

它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

Sphinx特别为一些脚本语言设计搜索API接口。

特性:

  高速索引;

  高速搜索 ;

  高可用性 ;

  提供良好的相关性排名 支持分布式搜索;

  提供文档摘要生成;

  提供从MySQL内部的插件式存储引擎上搜索;

  支持每个文档多个全文检索域;

  支持每个文档多属性;

  支持断词;

  支持单字节编码与UTF-8编码;

Sphinx在mysql上的应用有两种方式

  ①、采用API调用,如使用PHP、java等的API函数或方法查询。优点是可不必对mysql重新编译,服务端进程“低耦合”,且程序可灵活、方便的调用;
缺点是如已有搜索程序的条件下,需修改部分程序。推荐程序员使用。
  ②、使用插件方式(sphinxSE)把sphinx编译成一个mysql插件并使用特定的sql语句进行检索。其特点是,在sql端方便组合,且能直接返回数据给客户端
不必二次查询(注),在程序上仅需要修改对应的sql,但这对使用框架开发的程序很不方便,比如使用了ORM。另外还需要对mysql进行重新编译,且需要mysql-5.1以上版本
支持插件存储。系统管理员可使用这种方式

1.下载

这里使用的是sphinx-2.2.11-release-win64

2.下载后解压在 E:\sphinx 目录下

在mysql新建数据库test,导入example.sql

3.建立配置文件

复制 E:\sphinx\sphinx.min.conf.in 到 E:\sphinx\bin\sphinx.conf

修改sphinx.conf必要项

  (1)mysql数据库连接项;

  (2)@CONFDIR@替换成实际目录,然后手动建立好该目录及子目录,这里为

E:\sphinx\data  # 索引数据目录
E:\sphinx\log # 进程文件目录

4. 安装Sphinx到Windows服务

searchd.exe --install -c sphinx.conf --servicename SphinxSearch

  

5. PHP客户端测试

进入E:\sphinx\api目录,sphinx提供了php, python , ruby , c等客户端代码,如果Php程序员想访问Sphinx,包含sphinxapi.php就可以了 ,test.php是Sphinx提供的访问例子。

在测试之前,需要生成索引文件到E:\shpinx\data目录,进入E:\sphinx\bin执行

indexer.exe -c  sphinx.conf --all 

运行成功后必须重新启动Sphinx才能生效。

在启用服务的时候提示”发生系统错误1067″,查了下资料,这需要在安装服务的时候指定配置文件的路径

因为系统中已存在searchd服务所以需要先删除,再重新install

重启后执行test.php

php test.php test

出现了错误Query failed: connection to localhost:9312 failed (errno=10060, msg=由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

如果本地使用IPV4、IPV6双栈网络(windows 7),默认localhost 指向IPV6

改为:127.0.0.1就好了

修改test.php的host

$host = "127.0.0.1";

再执行test.php

searchd的启动与停止

net start/stop searchd

  

  

  

Sphinx在windows上的安装使用的更多相关文章

  1. jinkins在windows上的安装 配置C#编译

    首先jinkins在windows上的安装就不说,安装只需要下载相应安装包就可以了,后有些时候经常需要修改端口号.修改如下: 然后重启jenkins服务 首次运行界面 个人建议插件按需安装. 建立一个 ...

  2. (转)windows上virtualenv 安装及使用

    [注意]要在某个含有空格的目录下面创建virtualenv环境,就要安装 win32api . 原文地址:http://blog.csdn.net/liuchunming033/article/det ...

  3. git在windows上的安装和简单使用

    git在windows上的安装和简单使用. 参考: https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E ...

  4. Windows上PostgreSQL安装配置教程

    Windows上PostgreSQL安装配置教程 这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PostgreSQL的 ...

  5. windows上pip安装及使用详解

    windows上pip安装及使用详解 2018-11-21 19:49:58 十二笔 阅读数 8229更多 分类专栏: Python学习   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  6. Windows上Tomcat安装以及解决乱码问题

    Windows上Tomcat安装以及解决乱码问题 下载tomcat8 1.进入tomcat官网 官方网站 2.选择windows的版本 解压 确定自己配置好了jdk jdk的相关配置 配置好tomca ...

  7. MongoDB 3.2 在windows上的安装

    翻译自 https://docs.mongodb.org/master/tutorial/install-mongodb-on-windows/ 在windows上安装 MongoDB 平台支持:从M ...

  8. Maven 3.3.9在Windows上的安装

    开始学Maven了,可是我一个项目都木有做过.听过Maven 的大名,用来构建项目的. 下面记录下我安装Maven的过程 1.确认电脑上安装了JDK 在cmd下执行下列命令: java –versio ...

  9. EJBCA 在windows上的安装

    为了做EJBCA的封装測试,在我自己电脑上装了个,可是在国内的开发上面的介绍实在是太少.有的也仅仅是些傻瓜式的安装介绍,这是介绍在Windows上安装的过程,(后面介绍下 linux 红帽上的),有些 ...

随机推荐

  1. Android github 快速实现多人协作

    前言:最近要做github多人协作,也就是多人开发.搜索了一些资料,千篇一律,而且操作麻烦.今天就整理一下,github多人协作的简单实现方法. 下面的教程不会出现:公钥.组织.team.pull r ...

  2. LruCache缓存

    LruCache通常用于实现内存缓存,采用的缓存算法是LRU(Least Recently Used)即近期最少使用算法,其核心思想是:当缓存满的时候,会优先淘汰那些近期最少使用的缓存对象. 1.Lr ...

  3. ios 显示缓存数据库

    IOS8以前版本, 如果是模拟器的话, 在这个路径中找到你的应用:/Users/你的用户名/Library/Application Support/iPhone Simulator/5.1/Appli ...

  4. iOS--手势之谜

    原文转至: http://www.cnblogs.com/huangjianwu/p/4675648.html iOS在手机APP的手势操作中包含了:拖动.捏合.旋转.点按.长按.轻扫.自定义等等,详 ...

  5. iOS开发工程师面试题(二)

    1.手写冒泡跟插入排序 冒泡排序来源于生活常识,相当于把数组竖起来,轻的向上,重的向下.void bubbleSort(int[] unsorted) { ; i < unsorted.Leng ...

  6. web.xml 中的listener、 filter、servlet 加载顺序及其详解

    在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...

  7. Linux system log avahi-daemon[3733]: Invalid query packet

    在检查Linux的日志文件时,发现大量 avahi-daemon[3733]: Invalid query packet错误(不同服务器对应的数字有所不同) Aug  3 07:00:01 hostn ...

  8. java int与integer的区别

    int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...

  9. Windows批处理:配置防火墙规则、开启远程桌面

    一.简介 公司主机加入域后,防火墙未进行设置,规则不统一,不少主机ping不通.另打算开启远程桌面,方便远程管理网内每台主机.曾在DC上测试过域组策略内的Windows防火墙设置,无论是新增规则还是直 ...

  10. asp.net设置默认打开页面,Web.config,defaultDocument

    The web.config file can be used to set a default document, or list of default documents for your web ...