原生sphinx不支持中文, sphinx-for-chinese匹配中文时也不返回结果 ,真纠结,  最好试了 coreseek,这个能正确返回结果了, 所以记录一下

http://www.coreseek.cn/products-install/step_by_step/  php调用

--------------------以下是安装步骤

  1. ##下载coreseek:coreseek 3.2.14:点击下载、coreseek 4.0.1:点击下载、coreseek 4.1:点击下载
  2. $ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
  3. $ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.0.1-beta.tar.gz
  4. $ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
  5. $ tar xzvf coreseek-3.2.14.tar.gz 或者 coreseek-4.0.1-beta.tar.gz 或者 coreseek-4.1-beta.tar.gz
  6. $ cd coreseek-3.2.14 或者 coreseek-4.0.1-beta 或者 coreseek-4.1-beta
  7.  
  8. ##前提:需提前安装操作系统基础开发库及mysql依赖库以支持mysql数据源和xml数据源
  9. ##安装mmseg
  10. $ cd mmseg-3.2.14
  11. $ ./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决
  12. $ ./configure --prefix=/usr/local/mmseg3
  13. $ make && make install
  14. $ cd ..
  15.  
  16. ##安装coreseek
  17. $ cd csft-3.2.14 或者 cd csft-4.0.1 或者 cd csft-4.1
  18. $ sh buildconf.sh #输出的warning信息可以忽略,如果出现error则需要解决
  19. $ ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql ##如果提示mysql问题,可以查看MySQL数据源安装说明
  20. $ make && make install
  21. $ cd ..
  22.  
  23. ##测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文)
  24. $ cd testpack
  25. $ cat var/test/test.xml #此时应该正确显示中文
  26. $ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml
  27. $ /usr/local/coreseek/bin/indexer -c etc/csft.conf --all
  28. $ /usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索
  1. $ /usr/local/coreseek/bin/searchd -c /usr/local/xxx/etc/csft.conf #后台运行,指定的conf文件
  2.  
  3. //php调用
  4.  
  5. //api文件在 /usr/local/src/coreseek-4.1-beta/csft-4.1/api下 ,这是我的解压路径,可以把整个文件api目录copy到你的网站目录,这样就能调用
  1. <?php
  2.  
  3. //注意文件的编码格式需要保存为为UTF-8格式
  4. require("sphinxapi.php");
  5.  
  6. $cl = new SphinxClient();
  7.  
  8. $cl->SetServer('127.0.0.1', );
  9. //以下设置用于返回数组形式的结果
  10. $cl->SetArrayResult( true );
  11.  
  12. /*
  13. //ID的过滤
  14. $cl->SetIDRange(3,4);
  15.  
  16. //sql_attr_uint等类型的属性字段,需要使用setFilter过滤,类似SQL的WHERE group_id=2
  17. $cl->setFilter('group_id',array(2));
  18.  
  19. //sql_attr_uint等类型的属性字段,也可以设置过滤范围,类似SQL的WHERE group_id2>=6 AND group_id2<=8
  20. $cl->SetFilterRange('group_id2',6,8);
  21. */
  22.  
  23. //取从头开始的前20条数据,0,20类似SQl语句的LIMIT 0,20
  24. $cl->SetLimits(,);
  25.  
  26. //在做索引时,没有进行 sql_attr_类型 设置的字段,可以作为“搜索字符串”,进行全文搜索
  27. //$res = $cl->Query ( '搜索字符串', "*" ); //"*"表示在所有索引里面同时搜索,"索引名称(例如test或者test,test2)"则表示搜索指定的
  28.  
  29. //如果需要搜索指定全文字段的内容,可以使用扩展匹配模式:
  30. $cl->SetMatchMode(SPH_MATCH_EXTENDED);
  31. //$res=cl->Query( '@title (测试)' , "*");
  32. $res= $cl->Query( '@content (是)' , "*");
  33.  
  34. echo '<pre>';
  35. print_r($res['matches']);
  36. print_r($res);
  37. print_r($cl->GetLastError());
  38. print_r($cl->GetLastWarning());
  39. echo '</pre>';
  40.  
  41. ?>

检查页面 ,  在返回的结果中有total_found,表示返回的数量

  1. [total_found] => 2
    ....
  2.  
  3. 完...
  4.  
  1.  

ubuntu上 安装 基于sphinx 的 coreseek 全文搜索的更多相关文章

  1. Ubuntu上安装QQ2015

    先不卖关子直接上图:Ubuntu 14.04.5 LTS Deb包下载地址: http://www.longene.org/download/WineQQ7.8-20151109-Longene.de ...

  2. 如何在 Ubuntu 上安装 MongoDB

    MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比. 你很可能发现在现代 Web 应用中使用 ...

  3. 在Ubuntu上安装openResty #1

    在Ubuntu上安装openResty #1 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方 ...

  4. 在Ubuntu上安装Docker Engine

    在Ubuntu上安装Docker Engine 这篇文章是介绍如何在在Ubuntu上安装Docker Engine,就是Google翻译官方文档的版本,英语好的直接官方原文.原文 要在Ubuntu上开 ...

  5. 在Ubuntu上安装Odoo时遇到的问题

    这两天开始看<Odoo快速入门与实践  Python开发ERP指南>(刘金亮 2019年5月第1版 机械工业出版社).试着在Ubuntu上安装Odoo,遇到很多问题,通过在网上查找,都已解 ...

  6. [异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议

    一.前言 最近将整个电脑格式化,改成了linux操作系统 希望这样能让自己在一个新的世界探索技术.提升自己吧- win上的工具用多了,就不想变化了- 继上一篇<ubuntu上安装虚拟机遇到的问题 ...

  7. Ubuntu上安装Robomongo及添加到启动器

    到目前为止,Robomongo仍是MongoDB最好的客户端管理工具,如需在Ubuntu上安装Robomongo,可直接从官网下载.tar.gz压缩包进行解压,然后直接运行bin目录下的robomon ...

  8. 在 Ubuntu 上安装 Android Studio

    在 Ubuntu 上安装 Android Studio http://www.linuxidc.com/Linux/2013-05/84812.htm 打开terminal,输入以下命令 sudo a ...

  9. Ubuntu上安装Karma失败对策

    在Ubuntu上安装Karma遇到超时 timeout 错误.Google了一下,国外的码农给了一个快捷的解决方案,实测可行,贴在这里: sudo apt-get install npm nodejs ...

随机推荐

  1. 使用Jquery.load()方法,出现-此页的状态信息无效,可能已损坏。[转]

    今天遇到此页的状态信息无效,可能已损坏,在以下页面找到解决办法,特记录下来: 转自:http://www.cnblogs.com/liuwenlong/archive/2011/05/09/20410 ...

  2. PHP数组操作汇总

    php 操作数组 (合并,拆分,追加,查找,删除等) - Just Code - ITeye技术网站 PHP操作数组的一些函数介绍 -- 简明现代魔法 PHP数组元素操作实例 -- 简明现代魔法 儿童 ...

  3. oracle flashback

    一.Flashback闪回技术概述:当Oracle数据库发生逻辑错误时,必须使用flashback技术,实现快速和方便的恢复数据.对于人为错误,要确定受到错误事务影响的对象或者记录是非常困难的.使用f ...

  4. ios开发 UITableViewController

    iOS中显示数据列表最常用的一个控件,支持垂直滚动   UITableView的两种内置样式UITableViewStylePlain UITableViewStyleGrouped 数据源(data ...

  5. java中用线程解决进出水问题

    //进水 class Inflow implements Runnable{ //水对象 Water wat; public Inflow(Water w){ this.wat = w; } @Ove ...

  6. DAS 原文出自【比特网】

    http://www.360doc.com/content/13/1114/11/10504424_329109113.shtml

  7. 【转】使用VisualSVN Server搭建SVN服务器

    http://blog.csdn.net/han_yankun2009/article/details/7856992 使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的  ...

  8. leecode 每日解题思路 127-Factorial Trailing Zeroes

    原题描述: 原题地址: Factorial Trailing Zeroes 题目描述很直接, 给出一个整数N, 求这个N的阶乘后尾有几个零.(要求O(logN)时间复杂度) 个人思路: 一开始,最简单 ...

  9. UBUNTU 关闭iptables的方法

    UBUNTU没有相关的直接命令 请用如下命令 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT tables是内核模块删除不了滴现查看一下你ipta ...

  10. [置顶] linux第二天,g++,gcc,ps,cat,sort,grep,kill,less,ls -l ,

    33.less sample.txt 分页输出文件内容到屏幕 34./search content (搜索内容) 可以将文档中有searchcontent 的行输出到屏幕 35.grep scienc ...