windows sphinx 安装及使用

1、下载地址 http://sphinxsearch.com/downloads/release/

2、将其解压到D:\sphinx,并在D:\sphinx下新建目录data(用来存放索引文件)与log(用来存放日志文件);

3、D:\sphinx\sphinx.conf.in复制到D:\sphinx\bin\sphinx.conf.in,并重命名为sphinx.conf

4、修改sphinx.conf的内容

      sphinx.conf各个保存路径改为咱们斯芬克司放置的路径

 

      4.1、搜索source src1修改{...}中的内容//这是索引源

        # 使用的数据库类型

        type = mysql 

        # 服务器

        sql_host = localhost 

        # 数据库登录名

        sql_user = root 

        # 数据库登录密码

        sql_pass = root 

        # 操作的数据库名称

        sql_db = test 

        # 数据库服务器端口

        sql_port = 3306 

        # 设置mysql检索编码,特别要注意这点,很多人中文检索不到数据库的编码是GBK或其他非UTF8

        sql_query_pre = SET NAMES utf-8 

        (以上7条前如有#将其删除

      #获取数据的sql

      sql_query = \

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

FROM documents

 #用于命令界面端的测试(cli)

 sql_query_info = SELECT * FROM documents WHERE id=$id

 

 

      4.2、搜索index test1修改{...}中的内容//索引

 #声明索引源

 source = src1

        # 放索引的目录及索引的文件名

       path = D:/sphinx/data/test1

 ##### 文档信息存储方式

 docinfo = extern

        # 编码

        charset_type = utf-8 

        # 指定utf-8编码表,字符表,注意:如使用这种方式,则sphinx会对中文进行单字切分

        charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F 

        # 简单分词,只有0和1,需要搜索中文必须置1

        ngram_len = 1 

        # 需要分词的字符,搜索中文时必须

        ngram_chars = U+3000..U+2FA1F 

        

/**#默认等于0; 搜素更细化时配置

min_prefix_len = 1 #前缀牵引 支持搜素字母开头的

min_infix_len= 1  #中缀牵引 分词最简化,更小分词。但生成的牵引比较大,上线必须优化;

以上两者不可同时使用。否则报错:致命的:指数“test1”:前缀和中缀不能同时在所有领域启用。

FATAL: index 'test1': prefixes and infixes can not both be enabled on all fields.

**/

/**

重新定义表名

#数据库的表名[可改部分]
sql_query = \
SELECT * FROM book

#数据表的字段 [可改部分]
sql_query_info = SELECT * FROM book WHERE id=$id

**/





以上7条前如有#将其删除

5、导入测试数据将D:\sphinx\example.sql中语句执行到test数据库中,注意:test数据库创建时需要指定为utf-8格式;

6、打开cmd窗口,进入目录D:\sphinx\bin;

7、建立索引,执行indexer.exe test1,test1即为sphinx.conf中index test1,成功。失败去配置文件中找原因

8、搜索'test',执行search.exe test  最后一句error可以忽略

9、搜索中文需要在数据库中含有中文,先修改数据库。然后重新执行第七步。然后在进行搜索“中文”。没有搜索到,因为windows命令行中的中文GBK编码格式,所以没有匹配内容。我们可以使用PHP程序来试试

10、进入D:\sphinx\api\目录,可以发现sphinx支持php、java、ruby调用,并提供对应的test例子,这里我们使用php来操作,首先将api复制到我们的网站根目录下,重新命名为sphinxapi目录,新建search.php,内容为:

 

    <?php

    require 'sphinxapi.php';

    $s = new SphinxClient();

    $s->SetServer('localhost', 9312);

    $result = $s->Query('中国');

    print_r($result);

    echo '<br /><br />';

    $result = $s->Query('中文');

    print_r($result);

    ?>

然后回到cmd命令行中,开启sphinx服务,执行searchd.exe(这个必须要执行的),成功后在浏览器中访问search.php,进行打印出来的数据对比

11、至此sphinx在windows下的简单安装与使用就完成了。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值