SPHINX - 技术教程文章

coreseek(sphinx)错误:WARNING: attribute 'id' not found - IGNORING

coreseek(sphinx)错误:WARNING: attribute ‘id‘ not found - IGNORING原因及解决方法coreseek(sphinx)建立索引时提示错误: WARNING: attribute ‘id‘ not found - IGNORING原因: sphinx不能使用主键来做属性字段,你的索引配置文件中一定用了类似 sql_attr_uint = id (id为表的主键)解决方法: 去掉sql_attr_uint = id 或改为 sql_query = SELECT id,id as aid,body from table sql_attr_uint = aid 即:在sql_query中给id用a...

sphinxql如何得到结果数及show meta的详细说明

mysql:select count(*) from main_index;但是这个在这里却报语法错误。第一种方法:查文档得:Aggregate functions (AVG(), MIN(), MAX(), SUM()) in column list clause are supported. Arguments to aggregate functions can be either plain attributes or arbitrary expressions. COUNT(*) is implicitly supported as using GROUP BY will add @count column to result set. Explicit support might be added in the future....

sphinx下的max_matches取值对SetLimits的影响【图】

使用PHP在客户端执行$s -> SetLimits(0, 15, 1200);传递的第三个参数,是服务器端设定当前查询的结果集大小为1200,但是运行结果,确实$s最终查询得到的结果为空值,为什么呢? 因为,这是由服务器原因造成的,因为服务器端存在max_matches配置项,默认取值为1000,所以若客户端取值超过1000,服务器将不返回任何信息。知道这个原因,我们只需将服务器的max_matches配置项的值改为1200以上即可!原文:http://blog.csdn.net/redleaf1...

小蚂蚁学习sphinx(1)--理论篇

网上有视频在讲php+mysql+sphinx,以前只是听说过,心想今天终于能够学习一下涨涨见识了,一个小时的理论篇讲完,并没有预想中那种汲取大量知识的满足感,一来讲的理论多一些,二来都是在linux下的操作,没办法实践,先把今天的小笔记写一下,以后慢慢钻研这块内容。 sphinx生成索引数据,并为数据库提供更专业的搜索功能。 为什么要用sphinx?1.做搜索时当数据量很大单纯的mysql搜索比较慢(如果表进行了分表会更慢)2.搜索...

Sphinx学习笔记(一)

最近负责一个项目,需要用到全文检索,我的环境大体如下: 1、数据保存在MySQL中 2、需要支持中文检索 3、尽可能的简单 选择了Sphinx,至于solr和Elasticsearch,看主页的介绍,它们对分布式、均衡等方面的支持非常好,只不过它们的安装包太大了,用起来挺不方便的,所以才放弃了它们,不过等有机会还可以研究一下。 基本步骤如下: 1、 安装:Sphinx的主页是http://sphinxsearch.com/,目前版本为2.2.8,下载...

sphinx中文入门指南 (转自sphinx中文站)【代码】

Sphinx中文入门指南wuhuiming<blvming在gmail.com>,转载请注明来源和作者 最后修改:2010年1月23日1、简介1.1.Sphinx是什么1.2.Sphinx的特性1.3.Sphinx中文分词2、安装配置实例2.1 在GNU/Linux/unix系统上安装 2.1.1 sphinx安装2.1.2.sfc安装(见另文)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匹配模式详解[转]

SphinxClient::setMatchMode ConstantDescriptionSPH_MATCH_ALL匹配所有查询词(默认模式).SPH_MATCH_ANY匹配查询词中的任意一个.SPH_MATCH_PHRASE将整个查询看作一个词组,要求按顺序完整匹配.SPH_MATCH_BOOLEAN将查询看作一个布尔表达式.SPH_MATCH_EXTENDED将查询看作一个Sphinx内部查询语言的表达式.SPH_MATCH_FULLSCAN使用完全扫描,忽略查询词汇.SPH_MATCH_EXTENDED2类似 SPH_MATCH_EXTENDED ,并支持评分和权重. S...

修改sphinx最大输出记录数【代码】【图】

修改sphinx最大输出记录数归纳如下: Sphinx的查询默认最大记录数是:1000,而我们想更改这个数值。就需要更改三个地方。 1是更改sphinx.conf配置文件的:max_matches = 10000 #后面数字就是你想查询的最大记录数。建议在1000~10000之内。 2是在api调用时,$cl->SetLimits($pageStart, $pageSize, $max_limits);用SetLimits的第三个参数更改为你想要的显示最大记录数。 3 修改sphinxclient.php 中max_matches问题是这样的,信息列...

ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版

主要参考文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/一、32位版本:coreseek安装需要预装的软件:apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev 二、CoreSeek快速安装:安装前,建议查看:源码包说明README;4.0/4.1版可参考3.2版本安装,步骤相同;如遇到问题,请看详细安装说明。 ##下载coreseek:coreseek 3.2.14:点击下载、coresee...

Sphinx全文检索 (一)【图】

全文检索一、生活中的数据总体分为:结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指没有固定格式或不定长的数据,如邮件,word文档等。非结构化数据还有一种叫法:全文数据。二、按数据的分类,搜索也分为两种:对结构化数据的搜索:如对数据库的搜索:SQL语句。再如windows的搜索:文件名,类型,修改时间。对非结构化数据的搜索:如windows对文件内容的搜索。Linux下得grep命令。再如Google...

SPHINX 文档写作工具安装简要指南 - windows 版 - 基于python【图】

此教程基于本地己安装好 PYTHON 并配置过全局变量;一定具备相应的基础再操作;上传图片以免产生误导,以下为文字描述,按下列操作即可:下载 get-pip.py脚本;python get-pip.py -(很多教程,执行这个文件,就直接使用PIP .其实还需要配置PIP的全局变量;如果知道全局PYTHON安装在哪里或是不知道,参考寻找目录为:C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts)pip install sphinx -(这里安装部分...

Sphinx + Read the docs theme【代码】

前言:使用Sphinx 生成文档和使用 Read The Docs 的 readthedocs/sphinx_rtd_theme,假设是在Windows上运行并已安装好 python,可以执行python的 pip命令通过 pip命令安装 sphinx 和 sphinx_rtd_themepip install -U Sphinx pip install sphinx-rtd-theme在一个系统中的一个空的文件夹中运行: 如我在D 盘中新建了一个名字为 sphinx的文件夹sphinx-quickstart D:\>mkdir sphinx-studyD:\>cd sphinx-studyD:\sphinx-study>sphinx-quic...

【sphinx】sphinx4学习笔记【代码】

sphinx-core工程是个java工程,内带两个例子,一个是helloword,其中涵多个功能,例如录音,对齐等。(还未挨个实验)另一个是hellongram,就是语音识别。可以用到的参数文件有hellongram0.xml,hellongram9.xml,hellongram1.xml.其中1.xml中没有用到语言模型,而是用JSFG来定义句子的语言规则,貌似是用正则表达式规定了待识别的句子只有如下可能:(hello)(jim|kate|tom)等。hellongram0.xml是用于ngram语言模型的例子,xml文...

Sphinx 实时索引【代码】

index rt {type = rtrt_mem_limit = 512Mpath =/usr/local/sphinx/data/rtrt_field = titlert_field = contentrt_attr_uint = gid } searchd {workers = threadslisten =3312listen =3313:mysql41log=/usr/local/sphinx/var/log/searchd.logquery_log =/usr/local/sphinx/var/log/query.logread_timeout =5client_timeout =300max_children =30pid_file =/usr/loca...

使用sphinx生成美观的文档【图】

先上效果图详情首先,需要知道什么是restructuredtext,可以理解为类似于markdown的一个东西。然后安装,pip install sphinx进入存放文档的目录,在命令行,sphinx-quickstart,根据需要一路回车,会生成一堆东西,包括conf.py和make等根据需要修改conf.py编写rst文件,比如默认的index.rst或链接的rst文件。在命令行,make html上图的效果,是使用了一个主题叫sphinx_bootstrap_theme。(PS.有很多主题可以选择)conf.py中关于这个主...

Sphinx 一般索引加实时索引【代码】

source mysql {type = mysqlsql_host = 10.10.3.181sql_user = rootsql_pass = dsidealsql_db = dsideal_dbsql_port = 3306sql_sock = /usr/local/mysql/mysql.socksql_query_pre = SET NAMES utf8sql_query = SELECT id,resource_title,resource_type from infosql_attr_uint = resource_type } index index_mysql {source = mysql...

centos7下搭建sphinx全文检索引擎

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用 程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL 也设计了一个存储引擎插件。我要使用Sphinx需要做以下几件事:1)、首先得有数据2)、建立Sphinx配置文件3)、生成索引4)、启动Sphinx5)、php操作使用之(调用api或search.exe程序进行查...

适合初学者的理解Sphinx运行方式【图】

#网上虽然有这么一张图,但是解释很少,我也觉得只看这张图很难深刻理解Sphinx,下面我通俗的介绍一下;#首先有一个MySQL主库,这个主库的存储引擎是InnoDB;#服务器运行两个MySQL从库进程,假定端口号分别是3306和3406;#创建主库和从库的目的是为了让数据库一直处于工作状态;#端口号为3306的进程包括MyISAM和Sphinx两个存储引擎,用于直接对接php&SQL查询;#端口号为3306的进程包括两类数据表,一个是MyISAM表,另一个是Sphinx表...

Sphinx性能【图】

(1)高速建立索引:建索引速度达到单核10-15mb/s; (2)高速查询:100万记录(约1.2GB数据)下,单核每秒支持约200次搜索; (3)高扩展性:已知最大索引簇支持对30亿条记录建立索引,每天单个连接5千万次搜索; (4)强大附属功能:支持分布式搜索,中文分词引擎,c/java/python/php等多语言支持,支持MySQL,也可以自建索引(xml pipe mechanism)支持KV等其他存储。(5)高性能搜索(在2-4 GB的文本上搜索,平均0.1秒内获得结果)...

sphinx-python文档化【代码】

概述下文讲述使用sphinx自动生成reStructuredText python API文档的简单过程。配置流程安装依赖$ pip install sphinx blurb python-docs-theme创建项目$ mkdir demo $ cd demo# 自动生成配置文件 demo $ sphinx-quickstart项目相关文件说明(以默认配置为例)项目结构:# demo/conf.py Makefile make.bat _build/ |--doctrees/|--environment.pickle|--index.doctree |--html/|--_sources/|--_static/index.html... _static/ _temp...

sphinx安装

相关命令及步骤 创建主索引: /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf --all 创建增量索引: 1. 创建测试数据表以及数据 2. 修改配置文件 主索引源:sql_query_pre 增量索引源:sql_query_pre sql_query sql_query_post 主索引:source path 增量索引:source path 3. 创建/更新主索引 4. 创建/更新增量索引 ...

sphinx和elasticseach使用感受

公司项目需要,要将mysql数据库中的数据快速检索并分词。 开始使用的是sphinx,这个搜索引擎安装,配置,使用,都比较简单,无需安装其他插件,相对来说功能比较单一。 对于新增记录,我的处理方法是添加增量索引,定期合并到主索引,这导致索引体积越来越大。由于sphinx在运行时是将这些索引放在内存里的,如果索引体积超出内存容量,会导致报错无法执行,所以如果想用sphinx做搜索引擎的话,请务必做好事先规划。 sphin...

Sphinx全文索引详细介绍及其安装例子

Sphinx全文索引(要lanmp环境哦) 比如:你要搜索乐杨俊,能后通过php程序去sphinx创建的索引表里面搜索相应的记录,sphinx找到后在去MySQL数据库里面select * from nameTable where name=’乐杨俊’;搜索速度大大提升---sphinx是夹在PHP和MySQL中间的详细的走整理出了个文档,在我的资源里面去下载即可,过程很详细,及其PHP操作sphinx的案例原文:http://blog.csdn.net/leyangjun/article/details/39051843

使用sphinx快速生成Python API 文档【代码】【图】

一 简单介绍不管是开源还是闭源,文档都是很重要的。当然理论上说,最好的文档就是代码本身,但是要让所有人都能读懂你的代码这太难了。所以我们要写文档。大部分情况,我们不希望维护一份代码再加上一份文档,这样做很容易造成文档和代码的不一致,程序员最讨厌更新文档了。所以最佳实践就是在程序员代码中加注释,然后通过构建脚本自通生成文档,包括html,latex,pdf等。对应于Pyhon,有很多可供选择的工具:sphinx 中文版介绍...

sphinx增量索引和主索引来实现索引的实时更新【代码】

项目中文章的信息内容因为持续有新增,而文章总量的基数又比较大,所以做搜索的时候,用了主索引+增量索引这种方式来实现索引的实时更新。实现原理:1. 新建一张表,记录一下上一次已经创建好索引的最后一条记录的ID 2. 当索引时,然后从数据库中取出所有ID大于上面那个sphinx中的那个ID的数据, 这些就是新的数据,然后创建一个小的索引文件 3. 把上边我们创建的增量索引文件合并到主索引文件上去 4. 把最后一条记录的ID更新到第一...

如何将Sphinx配置成缓存服务器【图】

大家都知道Sphinx是一个全文索引程序,它的高速查询能力也是有目共睹的。除了这些,我们是否还能挖掘点别的功能出来呢?不如作为一个简单的缓存服务器。 先来了解下Sphinx的使用的文件,Sphinx使用的文件包括 .sph, .spa, .spi, .spd, .spp, .spm ,.spl大家都知道Sphinx是一个全文索引程序,它的高速查询能力也是有目共睹的。除了这些,我们是否还能挖掘点别的功能出来呢?不如作为一个简单的缓存服务器。先来了解下Sphinx的使用...

php-Sphinx RT索引和SphinxQL查询【代码】

我们正在架构中部署RT索引.但是我们需要澄清一下,并在部署过程中面临一些困难. 索引中定义的架构:index logtable{type = rtpath = /usr/local/sphinx20/var/data/logtablert_attr_string = TransactionIdrt_attr_uint = CustomerIdrt_attr_timestamp = DateOfTransactionrt_attr_string = CustomerFeedbackrt_field = TransactionType}面临的问题 问题1: 我们如何在SPHINXQL中获得count()查询结果.因为它对我们很重要,所以...

sphinx增量索引分布式索引实例

增量索引,其实就是增加的内容,例如:存款有100块,今天挣了10块,这10块就是增量了 分布式索引,可以这样理解,想开公司钱不够,需要向很多人借钱。也就是把大家钱集中一起使用。 一,测试表和数据 mysql desc sph_counter;+------------+---------+------增量索引,其实就是增加的内容,例如:存款有100块,今天挣了10块,这10块就是增量了 分布式索引,可以这样理解,想开公司钱不够,需要向很多人借钱。也就是把大家钱集中一起...

sphinx的SPH_MATCH_PHRASE模式如何用

sphinx的 SPH_MATCH_PHRASE 模式怎么用啊sphinx的 SPH_MATCH_PHRASE 模式怎么用啊 他的query怎么写 $cl->SetServer ( $host, $port ); $cl->SetMatchMode ( SPH_MATCH_PHRASE ); $cl->SetLimits ( 0, 20 ); $cl->SetWeights (array (10,1)); $res = $cl->Query ( 'dvd player', "search" );我想查抄 dvd player 这个词 和 photo 这两个词 要怎么写啊 希望高手指点下啊 谢谢了分享到:SetServer?(?$host,?$port?);$cl->SetMat.....

sphinx的updateAttributes方法

sphinx运行的时候执行了 updateAttributes 。执行之后可以查找到更新后的数据。 但过了一段时间好像又变回了原来的数据。不是很确定,但应该是这样。我查了下updateAttributes相关的内容,说这个是修改当前内存里的数据,如果要修改到文件,就需要重新启动引擎。我的问题是,修改了内存里的数据是不是说明这个值在sphinx重启之前一直保存在内存里? 还是,当这个文档从内存里移出的时候这些变更信息也随之移出?导致下次该文档重新...