coreseek

Coreseek-带中文分词的Sphinx

天涯浪子 提交于 2020-01-28 02:22:33
什么是Coreseek Sphinx默认不支持中文索引及检索,基于Sphinx开发了Coreseek全文检索服务器,Coreseek应该是现在用的最多的Sphinx中文全文检索,它提供了为Sphinx设计的中文分词包LibMMSeg包含mmseg中文分词。 安装 --解压安装包 # tar -zxvf coreseek-3.2.14.tar.gz # ls csft-3.2.14 mmseg-3.2.14 README.txt testpack 安装中文分词mmseg # cd mmseg-3.2.14/ # ./configure --prefix=/usr/local/mmseg --编译报错 config.status: error: cannot find input file: src/Makefile.in --运行下面指令再次编译就能通过了 # automake # make && make install --运行mmseg,输出安装信息则mmseg中文分词已经安装好了 # /usr/local/mmseg/bin/mmseg Coreseek COS(tm) MM Segment 1.0 Copyright By Coreseek.com All Right Reserved. Usage: /usr/local/mmseg/bin/mmseg <option>

Sphinx + Coreseek 实现中文分词搜索

自古美人都是妖i 提交于 2020-01-25 16:51:25
Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Google等第三方站点提供的站内全文搜索的差别 Sphinx Coreseek介绍 Coreseek安装使用 1. 全文检索 1.1 全文检索 vs. 数据库 全文检索是数据库的有力补充,全文检索并不能替代数据库在应用系统中的作用。当应用系统的数据以大量的文本信息为主时,採用全文检索技术能够极大的提升应用系统的价值。 数据库搜索。假设搜索范围包含所有正文数据。往往性能非常低。用户响应时间长(分钟级。常常超时);而全文检索能够在0.x秒(毫秒级)的时间内将结果反馈给用户; 数据库搜索。一个用户在搜索。往往影响其它用户的相应用系统进行操作。全文检索能够同一时候支持多个用户并发搜索,其它相应用系统进行操作的用户不受影响。 数据库搜索非常难实现多个关键字的复合搜索。而全文检索能够实现多个关键词的复合搜索。包含 “和(AND)”、“或(OR)”、“否(NOT)” 等; 数据库搜索难于对结果进行相关度排序,当检索结果多时。用户往往难于找到最恰当的文档。而全文检索通过统计的研究成果。能够将文档进行相关度排序后。再返回给用户,提高用户的效率; 全文检索还能够对检索结果的数据进行聚类分析(Group,

Sphinx中文指南(二)——Sphinx中文分词coreseek篇

拈花ヽ惹草 提交于 2020-01-24 10:58:32
阅读本文前,请先查看前篇—— Sphinx中文入门指南 目前,实现Sphinx中文的分词的方法据我所知有3种: 1、 Coreseek 2、 Sphinx-for-chinese 3、在客户端先分词,然后使用Sphinx字索引(查看 安装原文 )直接对输入词进行检索 Coreseek安装 在上篇中我们介绍了安装Sphinx的一些必要条件,在此不一一而论。本文基础基于上篇! 下载Coreseek: [root@localhost ~]#cd /usr/local/src [root@localhost src]# wget http://www.coreseek.cn/uploads/csft/3.1/Source/csft-3.1.tar.gz ####coreseek源文件 [root@localhost src]# wget http://www.coreseek.cn/uploads/csft/3.1/Source/mmseg-3.1.tar.gz #####coreseek所使用的词典 [root@localhost src]#tar zxvf csft-3.1.tar.gz [root@localhost src]#tar zxvf mmseg-3.1.tar.gz #####在安装coreseek前必须先安装mmseg [root@localhost src]# cd

Sphinx与coreseek

妖精的绣舞 提交于 2020-01-21 13:38:29
Sphinx : 高性能 SQL 全文检索引擎 分类 编程技术 Sphinx是一款基于SQL的高性能全文检索引擎,Sphinx的性能在众多全文检索引擎中也是数一数二的,利用Sphinx,我们可以完成比数据库本身更专业的搜索功能,而且可以有很多针对性的性能优化。 Sphinx 的特点 快速创建索引:3分钟左右即可创建近100万条记录的索引,并且采用了增量索引的方式,重建索引非常迅速。 闪电般的检索速度:尽管是1千万条的大数据量,查询数据的速度也在毫秒级以上,2-4G的文本量中平均查询速度不到0.1秒。 为很多脚本语言设计了检索API,如PHP,Python,Perl,Ruby等,因此你可以在大部分编程应用中很方便地调用Sphinx的相关接口。 为MySQL设计了一个存储引擎插件,因此如果你在MySQL上使用Sphinx,那简直就方便到家了。 支持分布式搜索,可以横向扩展系统性能。 PHP+MySQL+Sphinx 搜索引擎架构图 在 MySQL 中安装 Sphinx Sphinx在MySQL上安装有两种方式: 第一种方式是采用API调用,我们可以使用PHP,Python,Perl,Ruby等编程语言的API函数进行查询,这种方式不必重新编译MySQL,模块间改动比较少,相对灵活。 第二种需要重新编译MySQL,将Sphinx以插件的方式编译到MySQL中去,这种方式对程序改动比较少

安装CoreSeek

喜欢而已 提交于 2020-01-14 13:21:51
环境需求和详细安装查看CoreSeek的官网 http://www.coreseek.cn/products-install/install_on_bsd_linux/ CoreSeek快速安装: 安装前,建议查看:源码包说明README;4.0/4.1版可参考3.2版本安装,步骤相同;如遇到问题,请看详细安装说明。 ##下载coreseek:coreseek 3.2.14:点击下载、coreseek 4.0.1:点击下载、coreseek 4.1:点击下载 $ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz $ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.0.1-beta.tar.gz $ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz $ tar xzvf coreseek-3.2.14.tar.gz 或者 coreseek-4.0.1-beta.tar.gz 或者 coreseek-4.1-beta.tar.gz $ cd coreseek-3.2.14 或者 coreseek-4.0.1-beta 或者 coreseek-4.1-beta

sphinx 配置sphinx.conf

青春壹個敷衍的年華 提交于 2020-01-12 03:50:06
sphinx的配置文件是在配置的时候最容易出错的了: 基本概念: source:数据源,数据是从什么地方来的。 index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。 searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。 indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。 attr:属性,属性是存在索引中的,它不进行全文索引,但是可以用于过滤和排序。 sphinx的配置文件过于冗长,我们把sphinx默认的配置文件中的注释部分去掉,重新进行描述理解,就成下面的样子了: ## 数据源src1 source src1 { ## 说明数据源的类型。数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python是一种语言怎么可以成为数据源呢? ## python作为一种语言,可以操作任意其他的数据来源来获取数据,更多数据请看:(http://www.coreseek.cn/products-install/python/) type = mysql ## 下面是sql数据库特有的端口,用户名,密码,数据库名等。 sql_host = localhost sql_user = test sql

sphinx和coreseek

谁说胖子不能爱 提交于 2020-01-10 07:51:05
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

sphinx的安装

情到浓时终转凉″ 提交于 2019-12-18 05:27:39
一、 Sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。 Sphinx的特性如下: a) 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); b) 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); c) 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可 处理100 M 文档); d) 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法; e) 支持分布式搜索; f) 支持短语搜索 g) 提供文档摘要生成 h) 可作为MySQL的存储引擎提供搜索服务; i) 支持布尔、短语、词语相似度等多种检索模式; j) 文档支持多个全文检索字段(最大不超过32个); k) 文档支持多个额外的属性信息(例如:分组信息,时间戳等); l) 支持断词; 虽然mysql的MYISAM提供全文索引,但是性能却不敢让人恭维,另外数据库毕竟不是很善于做这样的事情,我们需要把这些活让给更适合的程序去做,减少数据库的压力

sphinx全文检索之PHP使用教程

☆樱花仙子☆ 提交于 2019-12-10 13:57:41
这是半年前没有对外写的文章,现在拿出来分享下。可能会有一些不正确或不严谨的地方,某些语言可能比较轻浮,请见谅。 上一篇[ 查看 ]介绍了sphinx的基本安装、配置和使用,现在来看看如何应用在PHP上。 基础 以上一篇的email数据表为例: 数据结构: CREATE TABLE email ( emailid mediumint( 8 ) unsigned NOT NULL auto_increment COMMENT ' 邮件id ' , fromid int ( 10 ) unsigned NOT NULL default ' 0 ' COMMENT ' 发送人ID ' , toid int ( 10 ) unsigned NOT NULL default ' 0 ' COMMENT ' 收件人ID ' , content text unsigned NOT NULL COMMENT ' 邮件内容 ' , subject varchar ( 100 ) unsigned NOT NULL COMMENT ' 邮件标题 ' , sendtime int ( 10 ) NOT NULL COMMENT ' 发送时间 ' , attachment varchar ( 100 ) NOT NULL COMMENT ' 附件ID,以逗号分割 ' , PRIMARY KEY

为coreseek添加mmseg分词

ぃ、小莉子 提交于 2019-12-07 21:11:54
由于在工作中遇到了林书豪这个词,原来的分词库里面没有就找了下文档,自己整理了一份,以交流备忘。 1.准备好需要添加的词表,一般都是每行一词,注意要保存为utf-8; 例如: -- 林书豪 -- 2.利用UltraEdit的查找替换功能,使词表格式符合mmseg的要求; 例如: 打开UltraEdit的正则替换功能,将“^p”替换为“^t1^px:1^p” 结果是: -- 林书豪 [tab]1 x:1 -- 其他的也行 3.将生成的符合格式要求的词表粘贴到原词表unigram.txt末尾,保存为unigram_new.txt,并拷贝到mmseg所在的目录下; 4.生成新的 uni /usr/local/mmseg3/bin/mmseg -u /usr/local/mmseg3/etc/unigram_new.txt 就会生成新的词典文件unigram_new.txt.uni 5.将新的 unigram_new.txt.uni 替换原有的uni.lib mv /usr/local/mmseg3/etc/unigram_new.txt.uni /usr/local/mmseg3/etc/uni.lib 6.重新建立索引库、重启searchd /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/c.conf --all -