Sphinx

php启用sphinx全文搜索的实现方法

本文实例讲述了php启用sphinx全文搜索的实现方法。分享给大家供大家参考。具体分析如下: 在编译安装 sphinx 的时候出现很多中文乱码,最后抛出错误卡住了,我去到官方直接下载一个 rpm 包,安装就很爽,具体错误不想研究了,忙开发呢. 安装两个包,一个是 mmseg 这个是生成中文字典的程序,一个是 csft 也就是中国版的sphinx . rpm -ivh 安装完以后,很顺利~~不到半分钟就装完了. 中文字典库,我直接去 csft 官方下载了,挺好的想得很周到. unigram.t [详细]

sphinx全文检索之PHP使用教程

目录[-]基础排序模式匹配模式更多条件技巧<、<=、>、>=IS NOT NULLFIND_IN_SET()总结这是半年前没有对外写的文章,现在拿出来分享下。可能会有一些不正确或不严谨的地方,某些语言可能比较轻浮,请见谅。 上一篇[查看]介绍了sphinx的基本安装、配置和使用,现在来看看如何应用在PHP上。 基础 以上一篇的email数据表为例: 数据结构: CREATE TABLE email ( emailid mediumint(8) unsigned NOT [详细]

sphinx中文分词搜索coreseek windows下安装与基本使用简介

这是半年前没有对外写的文章,现在拿出来分享下。可能会有一些不正确或不严谨的地方,某些语言可能比较轻浮,请见谅。 首先说明一下coreseek其实就是基于sphinx的中文分词版本,sphinx本身并没有提供中文分词功能,需要自行安装中文词库比较麻烦,coreseek提供了中文分词功能,提供了完整的官方中文使用文档,并且在使用上和官方的sphinx并没有差别。以coreseek-4.1版本为例 下载地址 http://www.coreseek.cn/news/14/54/ 帮助手册 [详细]

Sphinx 搜索性能优化 —— 多线程搜索

MySQL、Sphinx及许多数据库和搜索引擎中的查询是单线程的。比如说,在一台32个CPU核心、16个磁盘的R910服务器上执行一个查询,它最多只会用到一个核心和一个磁盘。没错,只会使用一个。 如果查询是CPU密集型作业,那么会使用大约3%的整机CPU能力(以上述32核机器为例)。如果是磁盘密集型,则大约会使用6%的整机IO能力(也是与上例同样的配置,16个磁盘组成RAID10或RAID0)。 [详细]

Sphinx学习之sphinx的安装篇

Sphinx学习之sphinx的安装篇一、 Sphinx简介Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。Sphinx的特性如下:a) 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒);b) 高性能的搜索(在2 – [详细]

基于Sphinx构建准实时更新的分布式通用搜索引擎平台[原创]

前言:  2008年7月,我写过一篇文章《基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计》。有不少网友希望阅读全文,我将该文档整理了一下,分享出来。文档解压后大小为7.33M,共19页。  本站下载地址: http://blog.zyan.cc/book/sphinx/sphinx_mysql.zip  新浪下载分流: http://ishare.iask.sina.com.cn/f/6728201.html  上述文档架构存在的局限,我在2008年12月的文章《亿级数据的 [详细]

我的开源PHP中文分词扩展:PHPCWS 1.0.0[原创]

注:最新的分词系统 HTTPCWS 已经发布,用来取代 PHPCWS。  请点击以下网址下载 HTTPCWS:  http://code.google.com/p/httpcws  原来的 PHPCWS 停止更新。  名称:PHPCWS(PHP中文分词扩展)  协议:New BSD License   作者:张宴  网址:http://code.google.com/p/phpcws/  SVN:http://code.google.com/p/phpcws/source/browse/#svn [详细]

sphinx数据文件简析

Sphinx使用的文件包括 “sph”, “spa”, “spi”, “spd”, “spp”, “spm” ,还有锁文件(.spl)。其中sph是系统的配置文件。其它则为索引文件。 l Spi 文件:保存WordId及指向此WordId对应的文档信息在spd文件的指针。Spi文件在检索程序启动时完全加载入内存。Spi文件是分块的,块内排序,块之间也排序 [详细]

btree索引和hash索引的区别

昨晚重翻了 《深入浅出mysql》再次查看了一下印象模糊的btree索引和hash索引的区别。故此做一下笔记。 在mysql中,大多数索引(如 PRIMARY KEY,UNIQUE,INDEX和FULLTEXT)都是在BTREE中存储,但使用memory引擎可以选择BTREE索引或者HASH索引,两种不同类型的索引各自有其不同的使用范围。 =========以下节选网摘========== Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到 [详细]

Sphinx中文分词应用

Sphinx中文指南(二)——Sphinx中文分词coreseek篇 阅读本文前,请先查看前篇——Sphinx中文入门指南 目前,实现Sphinx中文的分词的方法据我所知有3种: 1、Coreseek 2、Sphinx-for-chinese 3、在客户端先分词,然后使用Sphinx字索引(查看安装原文)直接对输入词进行检索 Coreseek安装 在上篇中我们介绍了安装Sphinx的一些必要条件,在此不一一而论。本文基础基于上篇! 下载Cor [详细]

Sphinx FAQ

Q、ERROR: index product: raw_hits: write error: 122070 of 262017 bytes written A:此类问题是索引写入磁盘错误导致,有多个原因。注意查看磁盘空间是否已满。另外,还可能是因为是否有多个indexer进程在进行,写入索引失败!还有个解决方法是:减少 indexer配置中 max_iosize的大小。max_iosize是sphinx最大允许的I/O操作大小,以字节为单位,用于I/O节流。比如可以设置为 524288(512K [详细]

Sphinx中文入门指南——新手可先看此文

本文主要介绍Sphinx的入门使用,新手观看,老鸟指正! * 1、简介 * 1.1.Sphinx是什么 * 1.2.Sphinx的特性 * 1.3.Sphinx中文分词 * 2、安装配置实例 * 2.1 在GNU/Linux/unix系统上安装 o 2.1.1 sphinx安装 o 2.1.2.sfc安装(见另文) o 2.1.3.coreseek安装(见另文) * 2.2 在windows下安装 * 3、 配置实例 * 4、应用 * 4.1 在CLI上测试 * 4.2 使用API调用 * 5、 [详细]

sphinx –rotate机制详解

今日,发现sphinx出现 sphinx.new.sp*诸多文件。出现这样的情况是因为 searchd没有加载新索引文件。遂Google之,到sphinx官网论坛后得知rotate的机制后方解决! sphinx的searchd在启动时会创建一个 .spl 锁文件,并在关闭时会删除它。在indexer创建索引时如果发现有 .spl文件,则不会创建新索引,因为这时已经标志sphinx正在运行中,除非使用 –rotate。 roate运行机制 ->indexer完成索引 ->发送SIGHU [详细]

亿级数据的高并发通用搜索引擎架构设计[原创]

曾经在七月,写过一篇文章──《基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计》,前公司的分类信息搜索基于此架构,效果明显,甚至将很大一部分带Where条件的MySQL SQL查询,都改用了Sphinx+MySQL搜索。但是,这套架构仍存在局限:一是MySQL本身的并发能力有限,在200~300个并发连接下,查询和更新就比较慢了;二是由于MySQL表的主键与Sphinx索引的ID一一对应,从而无法跨多表建立整站查询,而且新增加类别还得修改配置文件,比较麻烦;三是因为和MySQ [详细]

基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计[原创]

前言:本文阐述的是一款经过生产环境检验的千万级数据全文检索(搜索引擎)架构。本文只列出前几章的内容节选,不提供全文内容。  在DELL PowerEdge 6850服务器(四颗64 位Inter Xeon MP 7110N处理器 / 8GB内存)、RedHat AS4 Linux操作系统、MySQL 5.1.26、MyISAM存储引擎、key_buffer=1024M环境下实测,单表1000万条记录的数据量(这张MySQL表拥有int、datetime、varchar、text等类型的10多个字 [详细]