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
    

      

      

      

  • 相关阅读:
    malloc/free和new/delete的区别
    Vim Skills——Windows利用Vundle和Github进行Vim配置和插件的同步
    selenium自学笔记---ecshop购买脚本 xpath定位元素(下拉框,单选框)
    python基础09--闭包,装饰器
    python基础08--迭代器,生成器
    python基础07--函数
    python基础06--文件操作
    python基础05--深浅copy, set,bytes
    python基础04--list,cou,dict
    python基础03--int,bool,str
  • 原文地址:https://www.cnblogs.com/baby123/p/5777164.html
Copyright © 2011-2022 走看看