zoukankan      html  css  js  c++  java
  • Sphinx在windows上的安装使用

    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:sphinxsphinx.min.conf.in 到 E:sphinxinsphinx.conf

    修改sphinx.conf必要项

      (1)mysql数据库连接项;

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

    E:sphinxdata  # 索引数据目录  
    E:sphinxlog # 进程文件目录  

    4. 安装Sphinx到Windows服务

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

      

    5. PHP客户端测试 

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

    在测试之前,需要生成索引文件到E:shpinxdata目录,进入E:sphinxin执行 

    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
    

      

      

      

  • 相关阅读:
    gerrit权限控制
    kvm虚拟机根目录磁盘扩容
    vim新手指南
    精通 vim 你应该理解的几个名词
    精通 VIM ,此文就够了
    linux下库的使用--动态库
    linux下库的使用--静态库
    linux下程序编译的各个阶段记录
    ASCII码表
    重构的过程记录--之利用系统数据库:
  • 原文地址:https://www.cnblogs.com/baby123/p/5777164.html
Copyright © 2011-2022 走看看