sphinx 2.3.2新特性介绍

sphinx 2.3.2新特性介绍

Posted in sphinx. Tags: . 评论关闭 »

sphinx search 2.3.2 版本一些新的特性 built-in suggests(内置搜索建议)

sphinx search 2.3.2 版本 内置搜索建议功能介绍

Posted in sphinx. 评论关闭 »

Sphinx 1.10-beta实时索引等新特性的体验报告——sphinx新特性体验(二)

Sphinx 1.10-beta的一些新特性的总结,及发现的一些问题

Posted in sphinx. 评论暂缺 »

Sphinx 1.10 实时索引实现——sphinx新特性体验(一)

sphinx 1.10的实时索引的安装使用实录

Posted in sphinx. 评论暂缺 »

Sphinx 0.9.9-release is out!

Super-long incubation period from "rc2" to "release" tag did not, of course, result in any new features, because of a feature-freeze. We did add a few missing calls and features to APIs and SphinxSE and also a couple of optimizations but that’s catching up, not really adding new stuff. On the other hand, looking back [Read More →]

Posted in sphinx. 评论暂缺 »

sphinx数据文件简析

Sphinx使用的文件包括 “sph”, “spa”, “spi”, “spd”, “spp”, “spm” ,还有锁文件(.spl)。其中sph是系统的配置文件。其它则为索引文件。 l Spi 文件:保存WordId及指向此WordId对应的文档信息在spd文件的指针。Spi文件在检索程序启动时完全加载入内存。Spi文件是分块的,块内排序,块之间也排序。分块的目的应该是为了快速检索到WordId,因为Spi中的WordId是变长压缩的,索引需要先在块级别做二分定位,再在快内解压缩查找。 文件结构,每块中结构,wordId实际存储的是差值 WordId SpdFilePointer DocNum HitNum 2 Spd文件: 文件结构 DocID [DocInfo] HitFilePointer FieldNum HitNum 3 Spp文件 文件结构 HitPos 4 Spa文件:存储DocInfo的文件,检索程序启动时会把此文件加载如内存,sphinx可以指定DocInfo的存储方式, ① 存储到spd文件中(InLine) ②. 另外单独存储。指定此,就会生成spa文件 文件结构: DocId DocInfo 5 Spm文件:在DocInfo中,有一种特殊的属性,叫MVA,多值属性。Sphinx对此属性特殊处理,需要存储在spm文件中。检索程序启动时会把此文件加载如内存。此(MVA)属性在DocInfo对应位置存储其在此文件中的字节偏移量。 文件结构: DocId Anum,A1,A2,…,An Bnum,B1,B2,…,Bn … 由于在第一趟扫描过程中会出现WordID相同的不同Hits(不同文档或者不同位置不同字段),二趟前会根据WordID排序,WordID相同的Hits会连续出现并合并(合并到第一次出现的相同WordID中)   (转自http://blog.csdn.net/todaylxp/archive/2009/06/15/4269223.aspx)

sphinx –rotate机制详解

今日,发现sphinx出现 sphinx.new.sp*诸多文件。出现这样的情况是因为 searchd没有加载新索引文件。遂Google之,到sphinx官网论坛后得知rotate的机制后方解决! sphinx的searchd在启动时会创建一个 .spl 锁文件,并在关闭时会删除它。在indexer创建索引时如果发现有 .spl文件,则不会创建新索引,因为这时已经标志sphinx正在运行中,除非使用 –rotate。 roate运行机制 ->indexer完成索引 ->发送SIGHUP 给searchd(同时在终端输出索引已经完成) ->searchd接到中断信号->等待所有子进程退出 ->重命名 当前索引为旧索引为 .old ->重命名 .new 索引文件作为当前索引 ->尝试加载当前索引文件->如果加载失败,searchd会把.old文件回滚为当前文件,并把刚建立的新索引重命名为 .new ->加载成的话:完成无缝衔接 综上:解决问题的办法是: 关闭searchd :killall -9 searchd 重启 searchd :searchd -c ../sphinx.conf

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、附录 1.Sphinx简介 1.1.Sphinx是什么 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS 的原生支持) 1.2.Sphinx的特性 * 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); * 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); * [Read More →]

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(512KB) 1、增量索引,注意删除的问题 2、对大数据,一定要给sphinx数据目录留出大量空间,因为临时文件会占据非常大的空间 Q、编译安装时出现这个问题….sphinx.cpp; then mv -f ".deps/sphinx.Tpo" ".deps/sphinx.Po"; else rm -f ".deps/sphinx.Tpo"; exit 1; fi In file included from sphinx.cpp:14:sphinx.h:54:19: error: mysql.h: No such file or directory…. A:缺少libmysqlclient15.so,安装mysql-devel.如果已经存在。请使用ldconfig加载一下这个动态链接库(linux) Q: sphinx在rotate时出现以下问题。(searchd.log) WARNING: rotating index ‘sphinx’: prealloc: mmap() failed: Cannot allocate memory [Read More →]

Sphinx中文分词应用

Sphinx中文指南(二)——Sphinx中文分词coreseek篇     阅读本文前,请先查看前篇——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 mmseg-3.1 [root@localhost mmseg-3.1]# ./configure –prefix=/usr/local/mmseg [root@localhost mmseg-3.1]# make && make install ######## 安装coreseek ######## ##这里不使用python数据源,若需要,请加上 –with-python,在mmseg上一定要对应路径 [root@localhost csft-3.1]# ./configure [Read More →]