sphinx是国外的一款搜索软件。

coreseek是在sphinx的基础上,增加了中文分词功能,换句话说,就是支持了中文。

Coreseek发布了3.2.14版本和4.1版本,其中的3.2.14版本是2010年发布的,它是基于Sphinx0.9.9搜索引擎的。而4.1版本是2011年发布的,它是基于Sphinx2.0.2的。Sphinx从0.9.9到2.0.2还是有改变了很多的,有很多功能,比如sql_attr_string等是在0.9.9上面不能使用的。

可以同时安装sphinx,coreseek,不会互相冲突。

环境:centos6.5 + mysql5.6 + other。

首先安装sphinx:

1. 下载安装包 http://sphinxsearch.com/downloads/    (目前最新版本是2.2.10)

2  ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql        (mysql其实不用指定,默认已经支持)           make && make install

3.安装完成后,在 /usr/local/sphinx目录下会有4个目录 

4.打开example.sql ,执行上面的sql.这是测试用例。

5.进入etc目录,拷贝配置文件, cp  sphinx-min.conf.dist  sphinx.conf  (这里不拷贝sphinx.conf.dist ,因为这文件只是比前者多了一堆注释)

6.打开sphinx.conf  修改下配置文件,如果使用的是步骤4的用例,那在这里只需要修改一下数据库配置就行。

7. 生成索引 /usr/local/sphinx/bin/indexer --all

8.测试 /usr/local/sphinx/bin/search linux

没错,你会看到这行提示,我们根本就没这个命令软件。。。。。只有一个searchd,但是这个searchd的用途根本不是这个,所以这里就先不测试了,我们去安装coreseek吧!

安装coreseek

1.首先下载软件,打开 官网 coreseek.cn

没错,你会看到这个提示。

根据笔者观察,该网站已经N久打不开了,该站长已经N久没去备案了。

那只能从别的地方下载安装包咯。

2.解压oreseek里有2个文件夹 一个是mmseg中文分词包 还有一个是csft(其实就是sphinx)包 都要安装

首先安装mmseg中文分词
./configure --prefix=/usr/local/mmseg
编译时可能会报错config.status: error: cannot find input file: src/Makefile.in
通过automake来解决
首先检查是否安装了libtool如果没有 
yum -y install libtool
automake
如果automake报错 原因可能是下列
Libtool library used but `LIBTOOL' is undefined
The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
to `configure.ac' and run `aclocal' and `autoconf' again.
If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
its definition is in aclocal's search path.

如果以上步骤都没成功,那么试下以下办法(把下面的命令都执行一遍,就好了)

3.然后继续mmseg的安装

./configure --prefix=/usr/local/mmseg
make && make install

4.安装csft
./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql --with-mmseg=/usr/local/mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/
make && make install
安装完毕后 注意 coreseek 中的配置文件也是csft.conf 而不是 sphinx.conf
cd /usr/local/coreseek/etc
cp sphinx.conf.dist csft.conf
vim csft.conf

5.修改配置csft.conf,增加对中文支持

打开csft.conf

在index test1 段下面,增加

charset_type = zh_cn.utf-8
charset_dictpath =/usr/local/mmseg/etc/

6.配置完成,测试一下吧

  1. 保存配置
  2. 建立索引
  3. cd /usr/local/coreseek/bin
  4. ./indexer --all
  5. ./search 别再等
  6.  
  7. 看看是不是已经出来效果了呢 (备注,原始测试的sql,都是英文,需要自己添加一些中文的记录哦)。
  8.  

sphinx和coreseek的更多相关文章

  1. sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux)

    sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux)     众所周知,在MYSQL数据库中,如果你在百万级别数据库中使用 like 的话那你一定在那骂娘,coreseek是一个 ...

  2. Sphinx和coreseek检索引擎

    Sphinx是检索英文用,coreseek是检索中文用. Sphinx(斯芬克斯)是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索 ...

  3. Sphinx 之 Coreseek、Sphinx-for-chinaese、Sphinx+Scws 评测

    Sphinx是一个基于SQL的全文检索引擎:普遍使用于很多网站:但由于中英文的差异,其本身,对中文的支持并不好.主要体现在对一段话断词:英文只需按照空格对其分词即可:但对于博大精深的中文来说,却是件困 ...

  4. ubuntu上 安装 基于sphinx 的 coreseek 全文搜索

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

  5. sphinx (coreseek)——3、区段查询 与 增量索引实例

    首先本文测试数据100多万的域名的wwwtitle 信息  检索数据: 首先建立临时表格: CREATE TABLE `sph_counter` ( `index_id` ) NOT NULL, `m ...

  6. sphinx (coreseek)——2、区段查询实例

    首先需要知道区段查询的定义: 索引系统需要通过主查询来获取全部的文档信息,一种简单的实现是将整个表的数据读入内存,但是这可能导致整个表被锁定并使得其他操作被阻止(例如:在MyISAM格式上的INSER ...

  7. sphinx(coreseek)——1、增量索引

    首先介绍一下     CoreSeek/Sphinx的发布包 indexer: 用于创建全文索引;    search: 一个简单的命令行(CLI) 的测试程序,用于测试全文索引;    search ...

  8. 安装sphinx和coreseek

    sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.Sphinx可以非常容易的与SQL数 ...

  9. Sphinx以及coreseek的安装及使用

    检索结构 php -> sphinx -> mysql 非结构化数据又叫全文数据,非固定长度字段例如文章标题搜索这类适用sphinx 全文数据搜索: 1 顺序扫描 : 如like查找 2 ...

随机推荐

  1. Linux基础-01-Linux基础命令

    1. Linux命令的格式 1) Linux命令的语法格式: 命令 [选项] [参数] 2) 命令格式中命令.选项.参数的具体含义 a) 命令:告诉Linux(UNIX)操作系统做(执行)什么. b) ...

  2. python学习-54 正则表达式2

    re模块 之分组 >>> import re >>> re.findall("ab|c","sdfab|csdf") ['a ...

  3. 计算机网络自顶向下方法第3章-传输层 (Transport Layer).2

    3.5 面向连接的运输: TCP 3.5.1 TCP连接 TCP是因特网运输层的面向连接的可靠的运输协议. TCP连接提供全双工服务(full-duplex service). TCP连接是点对点的连 ...

  4. Linux中光标消失解决办法

    假如Linux下光标消失,不要急: echo -e "\033[?25l"  隐藏光标 echo -e "\033[?25h" 显示光标 (转载自:https: ...

  5. Manjaro 使用基础

    一.pacman/yay 的基础命令 Manjaro 装好后,需要运行的第一条命令: sudo pacman -Syy ## 强制更新包数据 sudo pacman-mirrors --interac ...

  6. oracle update left join 写法

    oracle update left join 写法 (修改某列,条件字段在关联表中) 案例: E:考核表 X,:用户表 USERNAME 关联 需求:修改营业部最高分 分析:通过登录账号的营业部OR ...

  7. Windows中的库编程

    Windows操作系统中,库分为动态链接库(dll)和静态链接库(lib) 动态库是Windows中实现代码共享的一种方式.它是一个二进制式文件,不可单独运行,需要调用方调用才能运行.在Windows ...

  8. NRF52832 Mesh调试,使其同时支持串口打印和RTT打印

    查看开发环境里面,是否有这个文件,如果没有你的话,则添加文件. 然后要在sdk_config.h中添加使能 然后打开刚才添加的文件retarget.c,主意里面这些地方 这里它进行判断,要么使用RTT ...

  9. JVM锁优化以及区别

    偏向所锁,轻量级锁都是乐观锁,重量级锁是悲观锁. 首先简单说下先偏向锁.轻量级锁.重量级锁三者各自的应用场景: 偏向锁:只有一个线程进入临界区: 轻量级锁:多个线程交替进入临界区: 重量级锁:多个线程 ...

  10. iOS开发 CGAffineTransform 让图片旋转, 旋转后获得图片旋转的角度

    1.让图片旋转 UIImageView *imageView = [[UIImageView alloc]init]; imageView.frame = CGRectMake(50, 50, 200 ...