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. sqlserver下调试sql语句

    现在版本的sqlServer已经支持调试功能了,但是在使用的时候用到的却很少(毕竟print习惯了..) 这里做一个笔记,简单的说明一下在sqlserver下调试的方法: declare @i int ...

  2. GCD定时器

    // // ViewController.m // GCD 定时器 // // #import "ViewController.h" NSInteger count = ; @in ...

  3. Play Framework 完整实现一个APP(八)

    创建Tag标签 1.创建Model @Entity @Table(name = "blog_tag") public class Tag extends Model impleme ...

  4. JAVA中的Fork/Join框架

    看了下Java Tutorials中的fork/join章节,整理下. 什么是fork/join框架 fork/join框架是ExecutorService接口的一个实现,可以帮助开发人员充分利用多核 ...

  5. RMAN还原遭遇ORA-32006&ORA-27102错误

    案例环境:   服务器A: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 6) 数据库版本: Oracle Database ...

  6. javascript - 享元模式

    享元模式笔记  运用共享技术有效的支持大量的细粒度对象,避免对象间拥有相同内容造成多余的开销  享元模式主要还是对其数据.方法共享分离,它将数据和方法分成内部数据.内部方法和外部数据.外部方法.  内 ...

  7. VS 中關於附加到進程中調試 的問題。

    在使用Vs 2012 時,項目發佈到Local IIS 中,如果在調試某個頁面中時,都要F5--> Login --> Debug 很繁瑣,下列有一種較快捷的方式,能夠更快的調試代碼. 1 ...

  8. WinForm:DataGridViewButtonColumn的使用

    1. 添加 DataGridViewButtonColumn DataGridViewButtonColumn dgv_button_col = new DataGridViewButtonColum ...

  9. MySQL调优系列_日志分析

    前言 本篇主要总结一下MySQL数据库的几种日志,用于日常维护过程中问题解决和性能优化等,稍显基础,日常积累之用. 文章的部分内容会将MySQL数据库和SQL Server数据库部分内容做一个对比,非 ...

  10. html iframe 元素之间的调用

    html iframe 元素之间的调用一.简介 一般需要引入一个独立页面的时候,我们会使用iframe.在业务需要的时候,我们需要在父页面与iframe页面之间进行交互.交互的时候,我们就需要使 用到 ...