SPHINX - 技术教程文章
适合初学者的理解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重启之前一直保存在内存里? 还是,当这个文档从内存里移出的时候这些变更信息也随之移出?导致下次该文档重新...
PHP-Sphinx Search 2.2.5阿拉伯语无法正常运行【代码】
我正在尝试用阿拉伯语实现Sphinx搜索.我的安装已经完成,可以用英语搜索.但是,当我尝试按阿拉伯文字搜索时,搜索结果为空白.我提供了字符集(charset_table)以支持阿拉伯字母(将形态设置为stem_ar),但对我不起作用. 我的配置可以在我发布的链接http://sphinxsearch.com/forum/view.html?id=13130中找到. 任何建议都欢迎.解决方法:请试试ngram_len = 1 ngram_chars = U+3000..U+2FA1F, U+0622->U+0627, U+0623->U+0627, U+06...
dede57配置Sphinx支持typeid、mid
配置好Sphinx之后在dede的后台启用具体配置可以百度,我在这里只说一下Sphinx支持typeid这个查询条件。等我配置好之后发现dede的搜索是不支持typeid的找到代码之后发现写了代码了但是只是字符串类型的这儿应该是数组的所以不支持好了现在开始说如何改动了。找到include的目录找arc.searchview.class.php文件然后找到function CountRecordSphinx()函数下的大概是379行找到代码$this->sphinx->SetFilter(typeid, GetSonIds($this->Ty...
python – sphinx-apidoc选择子模块,但autodoc不会记录它们【代码】
我一直在研究PyQt5的项目(在这里找到:https://github.com/MaVCArt/StyledPyQt5),该项目使用包结构使导入更合乎逻辑.到目前为止,我已经相对成功地使用Sphinx记录了代码,至少在我介绍包结构之前. (以前,一切都在一个文件夹中) 以下是问题:当我运行sphinx-apidoc时,一切运行正常,没有错误.更重要的是,autodoc很好地接收了我所有的子模块.这是我的一个文件的内容:styledpyqt package ==================Subpackages -----------.. t...
【原创】centos6.4编译安装mysql5.5并为其安装Sphinx引擎支持【图】
#mysql5.5改成用cmake安装了,所以先安装cmakecd /data/software/wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gzwget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gzcd /data/srctar zxf ../software/coreseek-4.1-beta.tar. #mysql5.5改成用cmake安装了,所以先安装cmake cd /data/software/ wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz wget http://www.coreseek.cn/uploads/csft/...
php – 使用带有ORM的Sphinx搜索
我正在寻找在我们的网站内实施Sphinx搜索. 与使用包含新库等做出奇怪的事情不同,使用SphinxQL对它进行集成更有意义,因为这与本机SQL非常接近.但是,我担心我们可能最终不得不重新发明轮子,以便我们可以在我们的系统中使用Sphinx. 为了防止这种情况,我想将Sphinx拖入我们的ORM系统. 有没有人曾经尝试过这个,或者我们可能遇到的任何问题都可以做到这一点? 我们目前使用Zend Framework和Propel的混合解决方法:很长时间在这里推动用户最...
sphinx全文搜索Php方面的简单处理
第一次尝试用sphinx来做全文搜索,可能有很多见解都不是很正确。有不同的想法,大家可以提出来。 现在版本的sphinx不知道支不支持中文了,问了群里的朋友都说不支持,所有用了以下的这种方法来做。 1、文章的处理。 假如文章表为article_main id title summary content time 1 测试的标题 测试的摘要 测试的内容 123123123 由于sphinx不支持中文(真的吗?这里...
php – Sphinx搜索完全匹配然后中缀匹配【代码】
我使用Sphinx提供搜索到一个网站,我在返回相关结果时遇到了一些障碍. 为了让我的问题变得简单,我们假设我有两个字段,@ title和@body,它们的权重为100&分别为15.当我搜索像’in’这样的单词时,我希望它将该搜索词的完全匹配排名更高,然后检查匹配’* in * | in in * * in *’并将它们排在略低的位置.有没有办法让你的搜索具有这种特殊性? ‘in’的示例结果: >印度菜>在中间>关于拉丁文的文件 一些相关设置是: 在sphinx.conf中:m...
sphinx全文检索之PHP使用课程【图】
sphinx全文检索之PHP使用教程 以上一篇的email数据表为例:数据结构:view sourceprint?01.CREATE TABLE email ( 02.emailid mediumint(8) unsigned NOT NULL auto_increment COMMENT '邮件id', 03. 04.fromid int(10) unsigned NOT NULL default '0' COMMENT '发送人ID', 05. 06.toid int(10) unsigned NOT NULL default '0' COMMENT '收件人ID', 07.content text unsigned NOT NULL COMMENT '邮件内容', 08.subject varcha...
centos-Linux下PHPSphinx配置问题~
创建索引 bin/indexer -c etc/sphinx.conf --all ,运行之后,出现如下异常错误:using config file 'etc/sphinx.conf'... indexing index 'test1'... collected 4 docs, 0.0 MB sorted 0.0 Mhits, 100.0% done total 4 docs, 193 bytes total 0.006 sec, 28357 bytes/sec, 587.71 docs/sec --- indexing index 'test1stemmed'... ERROR: index 'test1stemmed': infixes and morphology are enabled, enable_star=0 --- skipping ...
sphinx的一个bug?在sphinxClientAPI没办法检索数据【图】
sphinx的phpAPI无法查出数据,但是在命令行(cli)却可以,好疑惑环境:ubuntu14.04 php5.5,mysql5.6 搜索词:”陈嘉俊“不知道为什么sphinx的phpAPI无法查出数据,但却也有hits属性和对应的字段出现,应该是代表数据匹配到了,但是数据却没有,为什么?在浏览器是没有输出的 在命令行却是有数据了: 这是PHP的代码回复内容: sphinx的phpAPI无法查出数据,但是在命令行(cli)却可以,好疑惑环境:ubuntu14.04 php5.5,mysql5.6 ...
php-sphinxsearch Laravel 5.2“没有发布标签[].”【代码】
我已经在我的系统上安装了sphinxsearch,并且对于核心php正常工作.现在我想在laravel 5.2中使用它.我已经按照这些步骤1) install composer 2) 'providers' => array('Scalia\SphinxSearch\SphinxSearchServiceProvider',) 3) 'aliases' => array('SphinxSearch' => 'Scalia\SphinxSearch\SphinxSearchFacade',) 4) php artisan config:clear5) php artisan config:publish scalia/sphinxsearcherror [InvalidArgumentException] ...
启用sphinx全文搜索与实例_PHP教程
在编译安装 sphinx 的时候出现很多中文乱码,最后抛出错误卡住了。 我去到官方直接下载一个 rpm 包,安装就很爽。。。具体错误不想研究了。忙开发呢~~ 安装两个包。一个是 mmseg 这个是生成中文字典的程序 一个是 csft 也就是中国版的sphinx rpm -ivh 安装完以后。很顺利~~不到半分钟就装完了。。。 偷懒,中文字典库,我直接去 csft 官方下载了。挺好的想得很周到。。。 unigram.txt uni.lib unigram.txt 字典文本,...
python – 当拉到NAS驱动器git存储库时,Sphinx生成的html页面看起来不同
我在本地驱动器上使用Sphinx创建了一些文档.然后我在网络驱动器上初始化了一个git存储库,并从我的本地驱动器中获取了我的工作,以便我可以与同事共享我的文档. 但是,网络驱动器上的HTML页面看起来非常不同(以糟糕的方式).按钮和图标看起来很糟糕或缺失. 知道为什么会这样吗?这与git有关吗?狮身人面像? 更新我检查了控制台并比较了本地和网络文件的输出.在网络文件中,有一条消息说明HTML1203: ****.local has been configured to ...
python – 如何链接到intersphinx中的根页面【代码】
我在项目中启用了sphinx.ext.intersphinx并添加了以下配置:intersphinx_mapping = {'python': ('https://docs.python.org/3', None),'pyserial': ('https://pythonhosted.org/pyserial/', None), }我的index.rst中有以下内容:This project depends on the :ref:`pyserial <pyserial:???>` library.我想链接指向http://pythonhosted.org/pyserial/,intersphinx_mapping中的根URL,但我不知道是什么???应该. 如果我这样做:ref:`py...
PHP操作sphinx的流程与操作代码(图文)【图】
本篇文章给大家带来的内容是关于PHP操作sphinx的流程与操作代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。大致流程如下:1. php连接sphinx,从索引文件中找到带关键字记录的id集合;2.php连接数据库,从数据库中查询id在1中集合里的记录。操作代码如下:1、从索引文件得到带关键词的id集合,需要使用sphinxapi2. 根据id集合,从数据库查处记录$sql1 = "select * from rain_news where id IN ($ids) ";执行...
关于Yii框架中sphinx索引配置的分析
这篇文章主要介绍了Yii框架中sphinx索引配置方法,较为详细的分析了sphinx索引配置的步骤与相关操作技巧,需要的朋友可以参考下本文实例讲述了Yii框架中sphinx索引配置方法。分享给大家供大家参考,具体如下:请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库#源定义 source mysql {type = mysqlsql_host = localhostsql_user = rootsql_pass = rootsql_db = yii...
phpsphinx的简单实例
为大家介绍一个php sphinx的简单例子,有需要的朋友,可以参考下。代码如下:<?php //sphinx简单例子 //参数筛选 //筛选cat_id=2 $cl->SetFilter("cat_id",array(2)); //仅在id为1、3、7的子论坛中搜索 $cl->SetFilter("forum_id",array(1,3,7));//范围筛选 //筛选发布时间为今天,参数为int时间戳 $cl->SetFilterRange("starttime",123,124); //筛选价格 $cl->SetFilterRange("price",10.0,99.9);// 分组 //按照item_id分组,并且按...