- 浏览: 564310 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
原文地址:http://cloudbbs.org/forum.php?mod=viewthread&tid=7992
目录:
须知 --------------------------------- 1楼
一.安装 ------------------------------ 1楼
二.配置 ------------------------------ 1楼
三.启动sphinxsearch -------------- 2楼
四.测试 ------------------------------ 2楼
五.下载sphinxapi.php ------------- 2楼
六.PHP使用Sphinx ----------------- 3楼
七.sphinx定时更新索引 ----------- 3楼
八.结束语 --------------------------- 3楼
环境:ubuntu 12.04 , mysql5.5 , php5.3 , nginx1.1
事前须知:
1.
sphinx可以实现全文索引,但不会随着数据的增加而自动增加索引,
所以需要重新生成索引,但每次都全部建立开销比较大,所以使用增量索引实现实时检索。之后通过定时任务来更新主索引。
方案如下:
每分钟更新增量索引一次,每天更新主索引一次。
2.
sphinx配置文件中,数据源和索引的配置可以继承(详见下面的配置)
一. 安装
sudo apt-get install sphinxsearch
复制代码
二.配置
1.前置工作
在配置以前需要在数据库里添加一个表用于增量备份。
该表有2个字段,1个字段关联一个索引,另一个字段记录被索引字段的最后一个id。
而增量索引根据第二个字段去索引数据。
CREATE TABLE IF NOT EXISTS `search_counter` (
`counterid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`max_doc_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`counterid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
复制代码
2.配置sphinx
在/etc/sphinxsearch/下
有一个示例配置文件 sphinx.conf.sample,有哪些参数不理解可以看看这个文档
在这个文件夹下,我们新建一个文件sphinx.conf
内容如下:
#凡是后边带有(手册),(网上)的,都是我不确定或者我不懂的。
#设置数据源
source info_src
{
#绑定数据库
type = mysql
sql_host = localhost
sql_user = mysql_name
sql_pass = mysql_pwd
sql_db = mysql_db
sql_port = 3306 # optional, default is 3306
#个人理解:sql_query_pre 是生成索引前置语句
sql_query_pre = set names utf8
#记录生成索引时的最高id
sql_query_pre = replace into search_counter select 1,max(id) from infos
#生成索引的主查询语句,第一列必须是唯一标识符,后两列是要生成索引的列。
sql_query = SELECT id, title, content FROM infos
}
#配置索引
index info_ind
{
#数据源
source = info_src
#索引存放位置
path = /var/lib/sphinxsearch/data/info
#文档属性值的存储方法。分别为extern,inline和none(手册)
docinfo = extern
#是否为缓存的数据使用内存锁(手册)
mlock = 0
#内置预处理类型,比如stem_en,stem_ru,soundex,libstemmer_german等。默认为none。(手册)
morphology = none
#索引单词的最小长度。
min_word_len = 1
charset_type = utf-8
#指定中文编码表,不设置将不能搜索中文(网上资料)
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
#在索引时,是否将html抽去掉,默认为0,不抽取
html_strip = 1
#索引的n-gram长度(手册)
ngram_len = 1
#CJK索引的n-gram字符列表,默认为空(手册)
ngram_chars = U+3000..U+2FA1F
}
#设置数据源,继承自info_src,该数据源用于增量索引
source infoadd_src:info_src
{
#覆盖父数据源的主查询语句,其他一样的就不用写了。
sql_query = SELECT N_Id, N_Title,SummerText FROM hlb_infos where n_id >(select max_doc_id from search_counter where counterid=1)
}
#设置索引,继承自info_ind,该索引用于增量索引
index infoadd_ind:info_ind
{
#覆盖
source = infoadd_src
path = /var/lib/sphinxsearch/data/infoadd
}
#indexer是sphinx自带的程序,负责连接数据源,生成索引。
#indexer的相关配置
indexer
{
#indexer使用的索引缓冲区的内存限制,可以用K和M来指定单位,不能用G。最大2047M。(手册)
mem_limit = 128M
#写缓冲区的最大大小,默认1M。这些缓冲区是除了mem_limit设置以外的分配的缓存(手册)
# write_buffer = 1M
}
#searchd是shipinx的守护程序,负责搜素索引。
#searchd的相关配置
searchd
{
#searchd守护程序运行的主机,端口或者主机:端口,或者unix的socket路径(手册)
#默认配置有2个,我也不知道为什么。
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/query.log
#客户读的超时时间
read_timeout = 5
#请求超时
client_timeout = 300
#可以拓展的最多的子集个数
max_children = 30
pid_file = /var/run/sphinxsearch/searchd.pid
#查询后,最多匹配数
max_matches = 1000
#获得索引后,是否预先打开索引(手册)
seamless_rotate = 1
#是否预先打开所有索引,或者在每次查询时打开(手册)
preopen_indexes = 1
#在索引旋转时是否解开旧的索引(手册)
unlink_old = 1
#如果设置该项,那么属性更新共享池大小。这样将会禁止属性刷新(手册)
mva_updates_pool = 1M
#客户查询数据包和代理响应的最大包大小。默认为8M(手册)
max_packet_size = 8M
#过滤器的最大数目。默认为256(手册)
max_filters = 256
#每个过滤器的最大数目。默认为4096(手册)
max_filter_values = 4096
# max allowed per-batch query count (aka multi-query count) (手册)
max_batch_queries = 32
# 多处理模式。默认为fork。值有 none, fork, prefork, threads。
workers = threads # for RT to work
}
复制代码
3.开启sphinxsearch功能
编辑/etc/default/sphinxsearch 将START=no 修改为 START=yes
三.启动sphinxsearch
1.创建索引
sudo indexer --rotate info_ind
sudo indexer --rotate infoadd_ind
复制代码
indexer 参数介绍
--quiet 安静模式
--rotate 建立索引后重启searchd
2.启动
sudo /etc/init.d/sphinxsearch start
复制代码
启动成功后会有如下提示:
Starting sphinxsearch: Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file '/etc/sphinxsearch/sphinx.conf'...
WARNING: compat_sphinxql_magics=1 is deprecated; please update your application and config
listening on all interfaces, port=9312
listening on all interfaces, port=9306
precaching index 'info_ind'
precaching index 'infoadd_ind'
precached 2 indexes in 0.002 sec
sphinxsearch.
复制代码
四.测试
search -i info_ind -e '3' -l 3
复制代码
-i 使用哪个索引
-e 使用extended模式
-l 3 只显示前3个结果
'3' 搜索词
root@ubuntu:/$ search -i info_ind -e '3' -l 3
Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file '/etc/sphinxsearch/sphinx.conf'...
index 'info_ind': query '3 ': returned 134 matches of 134 total in 0.016 sec
displaying matches:
1. document=35948, weight=1687
2. document=17678, weight=1664
3. document=17767, weight=1664
words:
1. '3': 134 documents, 148 hits
复制代码
一共有134个匹配(matches).
好了,到这里sphinx已经配置完了。
五.下载sphinxapi.php
1.获取版本号
root@ubuntu:/$ searchd -h
Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
Usage: searchd [OPTIONS]
Options are:
...以下省略
复制代码
得知版本号是sphinx2.0.4
2.去官网下载Sphinx 2.0.4-release
http://sphinxsearch.com/downloads/archive/
找到tar.gz的sphinx 2.0.4 release ,下载。
解压后去api文件夹里找到sphinxapi.php。
六.PHP使用Sphinx
直接上程序啦.
PHP代码
<?php
require('include/sphinxapi.php');
$sphinx = new SphinxClient();
$host = 'localhost';
$port = 9312;
$sphinx->SetServer($host,$port);
//设置模式为extended
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
//只取3个结果
$sphinx->SetLimits(0, 3);
//使用的索引
$index = 'info_ind,infoadd_ind';
//在title,content上搜索 ‘吗’
$word = '吗';
//在title,content上搜索‘吃’或者‘今天’
//$word = '吃|今天';
//在title上搜索‘吃’或者‘今天’
//$word = '@title 吃|今天';
$result = $sphinx->Query($word,$index);
print_r($result);
?>
在result中,有个键名为matches,若搜索结果不为0,则包含id集合,如果搜索结果为0,则不存在matches。
完整示例如下(示例中的mysql类是自己封装的):
PHP代码
<?php
require('config/configure.inc.php');
require('include/sphinxapi.php');
require('include/mysql.class.php');
$sphinx = new SphinxClient();
$host = 'localhost';
$port = 9312;
$sphinx->SetServer($host,$port);
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
// $sphinx->SetArrayResult(TRUE);
$sphinx->SetLimits(0, 3);
$index = 'info_ind,infoadd_ind';
$word = '@title 工商年检|转让五千万';
$result = $sphinx->Query($word,$index);
// print_r($result);
if(key_exists('matches',$result)){
$db = new Mysql();
$db->connect();
$sql = 'select id,title,content from infos where id in ('.implode(',', array_keys($result['matches'])).')';
// echo $sql;
$infos = $db->search($sql,'n_id');
print_r($infos);
}
?>
七.sphinx定时更新索引
sphinx已经设置了每天自动整合。编辑/etc/cron.d/sphinxsearch
在第一句话开头添上#号,注释掉这一句,并添加定时任务。
# Rebuild all indexes daily and notify searchd.
#默认每天更新索引
#@daily root . /etc/default/sphinxsearch && if [ "$START" = "yes" ] && [ -x /usr/bin/indexer ]; then /usr/bin/indexer --quiet --rotate --all; fi
#每分钟重新建立增量索引
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59 * * * * root . /etc/default/sphinxsearch && if [ "$START" = "yes" ] && [ -x /usr/bin/indexer ]; then /usr/bin/indexer --quiet --rotate infoadd_ind; fi
#每天3点40重新建立主索引,并建立增量索引
40 03 * * * root . /etc/default/sphinxsearch && if [ "$START" = "yes" ] && [ -x /usr/bin/indexer ]; then /usr/bin/indexer --quiet --rotate info_ind && /usr/bin/indexer --quiet --rotate infoadd_ind; fi
复制代码
八.结束语
在实际生产环境中,中文搜索是需要分词的,在这里就不多做介绍了。我用的分词工具是scws。
这篇文章也算是凑巧,刚刚完成sphinx的配置,一边配置,一边测试,一边写的,恰巧碰上sae征文。
就过来献丑了。
顺便 已申请普通开发者认证,求推荐啊~应用地址
http://qianqianqian.sinaapp.com
其中钓鱼和音乐盒也都是半成品,单是还是想来试试运气。
求推荐~~~
推荐链接
http://sae.sina.com.cn/?m=home&a=devlevel&level=normal_level&voteme=fbejCB
目录:
须知 --------------------------------- 1楼
一.安装 ------------------------------ 1楼
二.配置 ------------------------------ 1楼
三.启动sphinxsearch -------------- 2楼
四.测试 ------------------------------ 2楼
五.下载sphinxapi.php ------------- 2楼
六.PHP使用Sphinx ----------------- 3楼
七.sphinx定时更新索引 ----------- 3楼
八.结束语 --------------------------- 3楼
环境:ubuntu 12.04 , mysql5.5 , php5.3 , nginx1.1
事前须知:
1.
sphinx可以实现全文索引,但不会随着数据的增加而自动增加索引,
所以需要重新生成索引,但每次都全部建立开销比较大,所以使用增量索引实现实时检索。之后通过定时任务来更新主索引。
方案如下:
每分钟更新增量索引一次,每天更新主索引一次。
2.
sphinx配置文件中,数据源和索引的配置可以继承(详见下面的配置)
一. 安装
sudo apt-get install sphinxsearch
复制代码
二.配置
1.前置工作
在配置以前需要在数据库里添加一个表用于增量备份。
该表有2个字段,1个字段关联一个索引,另一个字段记录被索引字段的最后一个id。
而增量索引根据第二个字段去索引数据。
CREATE TABLE IF NOT EXISTS `search_counter` (
`counterid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`max_doc_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`counterid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
复制代码
2.配置sphinx
在/etc/sphinxsearch/下
有一个示例配置文件 sphinx.conf.sample,有哪些参数不理解可以看看这个文档
在这个文件夹下,我们新建一个文件sphinx.conf
内容如下:
#凡是后边带有(手册),(网上)的,都是我不确定或者我不懂的。
#设置数据源
source info_src
{
#绑定数据库
type = mysql
sql_host = localhost
sql_user = mysql_name
sql_pass = mysql_pwd
sql_db = mysql_db
sql_port = 3306 # optional, default is 3306
#个人理解:sql_query_pre 是生成索引前置语句
sql_query_pre = set names utf8
#记录生成索引时的最高id
sql_query_pre = replace into search_counter select 1,max(id) from infos
#生成索引的主查询语句,第一列必须是唯一标识符,后两列是要生成索引的列。
sql_query = SELECT id, title, content FROM infos
}
#配置索引
index info_ind
{
#数据源
source = info_src
#索引存放位置
path = /var/lib/sphinxsearch/data/info
#文档属性值的存储方法。分别为extern,inline和none(手册)
docinfo = extern
#是否为缓存的数据使用内存锁(手册)
mlock = 0
#内置预处理类型,比如stem_en,stem_ru,soundex,libstemmer_german等。默认为none。(手册)
morphology = none
#索引单词的最小长度。
min_word_len = 1
charset_type = utf-8
#指定中文编码表,不设置将不能搜索中文(网上资料)
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
#在索引时,是否将html抽去掉,默认为0,不抽取
html_strip = 1
#索引的n-gram长度(手册)
ngram_len = 1
#CJK索引的n-gram字符列表,默认为空(手册)
ngram_chars = U+3000..U+2FA1F
}
#设置数据源,继承自info_src,该数据源用于增量索引
source infoadd_src:info_src
{
#覆盖父数据源的主查询语句,其他一样的就不用写了。
sql_query = SELECT N_Id, N_Title,SummerText FROM hlb_infos where n_id >(select max_doc_id from search_counter where counterid=1)
}
#设置索引,继承自info_ind,该索引用于增量索引
index infoadd_ind:info_ind
{
#覆盖
source = infoadd_src
path = /var/lib/sphinxsearch/data/infoadd
}
#indexer是sphinx自带的程序,负责连接数据源,生成索引。
#indexer的相关配置
indexer
{
#indexer使用的索引缓冲区的内存限制,可以用K和M来指定单位,不能用G。最大2047M。(手册)
mem_limit = 128M
#写缓冲区的最大大小,默认1M。这些缓冲区是除了mem_limit设置以外的分配的缓存(手册)
# write_buffer = 1M
}
#searchd是shipinx的守护程序,负责搜素索引。
#searchd的相关配置
searchd
{
#searchd守护程序运行的主机,端口或者主机:端口,或者unix的socket路径(手册)
#默认配置有2个,我也不知道为什么。
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/query.log
#客户读的超时时间
read_timeout = 5
#请求超时
client_timeout = 300
#可以拓展的最多的子集个数
max_children = 30
pid_file = /var/run/sphinxsearch/searchd.pid
#查询后,最多匹配数
max_matches = 1000
#获得索引后,是否预先打开索引(手册)
seamless_rotate = 1
#是否预先打开所有索引,或者在每次查询时打开(手册)
preopen_indexes = 1
#在索引旋转时是否解开旧的索引(手册)
unlink_old = 1
#如果设置该项,那么属性更新共享池大小。这样将会禁止属性刷新(手册)
mva_updates_pool = 1M
#客户查询数据包和代理响应的最大包大小。默认为8M(手册)
max_packet_size = 8M
#过滤器的最大数目。默认为256(手册)
max_filters = 256
#每个过滤器的最大数目。默认为4096(手册)
max_filter_values = 4096
# max allowed per-batch query count (aka multi-query count) (手册)
max_batch_queries = 32
# 多处理模式。默认为fork。值有 none, fork, prefork, threads。
workers = threads # for RT to work
}
复制代码
3.开启sphinxsearch功能
编辑/etc/default/sphinxsearch 将START=no 修改为 START=yes
三.启动sphinxsearch
1.创建索引
sudo indexer --rotate info_ind
sudo indexer --rotate infoadd_ind
复制代码
indexer 参数介绍
--quiet 安静模式
--rotate 建立索引后重启searchd
2.启动
sudo /etc/init.d/sphinxsearch start
复制代码
启动成功后会有如下提示:
Starting sphinxsearch: Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file '/etc/sphinxsearch/sphinx.conf'...
WARNING: compat_sphinxql_magics=1 is deprecated; please update your application and config
listening on all interfaces, port=9312
listening on all interfaces, port=9306
precaching index 'info_ind'
precaching index 'infoadd_ind'
precached 2 indexes in 0.002 sec
sphinxsearch.
复制代码
四.测试
search -i info_ind -e '3' -l 3
复制代码
-i 使用哪个索引
-e 使用extended模式
-l 3 只显示前3个结果
'3' 搜索词
root@ubuntu:/$ search -i info_ind -e '3' -l 3
Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file '/etc/sphinxsearch/sphinx.conf'...
index 'info_ind': query '3 ': returned 134 matches of 134 total in 0.016 sec
displaying matches:
1. document=35948, weight=1687
2. document=17678, weight=1664
3. document=17767, weight=1664
words:
1. '3': 134 documents, 148 hits
复制代码
一共有134个匹配(matches).
好了,到这里sphinx已经配置完了。
五.下载sphinxapi.php
1.获取版本号
root@ubuntu:/$ searchd -h
Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
Usage: searchd [OPTIONS]
Options are:
...以下省略
复制代码
得知版本号是sphinx2.0.4
2.去官网下载Sphinx 2.0.4-release
http://sphinxsearch.com/downloads/archive/
找到tar.gz的sphinx 2.0.4 release ,下载。
解压后去api文件夹里找到sphinxapi.php。
六.PHP使用Sphinx
直接上程序啦.
PHP代码
<?php
require('include/sphinxapi.php');
$sphinx = new SphinxClient();
$host = 'localhost';
$port = 9312;
$sphinx->SetServer($host,$port);
//设置模式为extended
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
//只取3个结果
$sphinx->SetLimits(0, 3);
//使用的索引
$index = 'info_ind,infoadd_ind';
//在title,content上搜索 ‘吗’
$word = '吗';
//在title,content上搜索‘吃’或者‘今天’
//$word = '吃|今天';
//在title上搜索‘吃’或者‘今天’
//$word = '@title 吃|今天';
$result = $sphinx->Query($word,$index);
print_r($result);
?>
在result中,有个键名为matches,若搜索结果不为0,则包含id集合,如果搜索结果为0,则不存在matches。
完整示例如下(示例中的mysql类是自己封装的):
PHP代码
<?php
require('config/configure.inc.php');
require('include/sphinxapi.php');
require('include/mysql.class.php');
$sphinx = new SphinxClient();
$host = 'localhost';
$port = 9312;
$sphinx->SetServer($host,$port);
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
// $sphinx->SetArrayResult(TRUE);
$sphinx->SetLimits(0, 3);
$index = 'info_ind,infoadd_ind';
$word = '@title 工商年检|转让五千万';
$result = $sphinx->Query($word,$index);
// print_r($result);
if(key_exists('matches',$result)){
$db = new Mysql();
$db->connect();
$sql = 'select id,title,content from infos where id in ('.implode(',', array_keys($result['matches'])).')';
// echo $sql;
$infos = $db->search($sql,'n_id');
print_r($infos);
}
?>
七.sphinx定时更新索引
sphinx已经设置了每天自动整合。编辑/etc/cron.d/sphinxsearch
在第一句话开头添上#号,注释掉这一句,并添加定时任务。
# Rebuild all indexes daily and notify searchd.
#默认每天更新索引
#@daily root . /etc/default/sphinxsearch && if [ "$START" = "yes" ] && [ -x /usr/bin/indexer ]; then /usr/bin/indexer --quiet --rotate --all; fi
#每分钟重新建立增量索引
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59 * * * * root . /etc/default/sphinxsearch && if [ "$START" = "yes" ] && [ -x /usr/bin/indexer ]; then /usr/bin/indexer --quiet --rotate infoadd_ind; fi
#每天3点40重新建立主索引,并建立增量索引
40 03 * * * root . /etc/default/sphinxsearch && if [ "$START" = "yes" ] && [ -x /usr/bin/indexer ]; then /usr/bin/indexer --quiet --rotate info_ind && /usr/bin/indexer --quiet --rotate infoadd_ind; fi
复制代码
八.结束语
在实际生产环境中,中文搜索是需要分词的,在这里就不多做介绍了。我用的分词工具是scws。
这篇文章也算是凑巧,刚刚完成sphinx的配置,一边配置,一边测试,一边写的,恰巧碰上sae征文。
就过来献丑了。
顺便 已申请普通开发者认证,求推荐啊~应用地址
http://qianqianqian.sinaapp.com
其中钓鱼和音乐盒也都是半成品,单是还是想来试试运气。
求推荐~~~
推荐链接
http://sae.sina.com.cn/?m=home&a=devlevel&level=normal_level&voteme=fbejCB
发表评论
-
使用amoeba 数据库端出现 ERROR 1044 (42000):
2015-11-25 11:29 889原文地址:http://blog.csdn.net/ljunc ... -
amoeba实现mysql读写分离
2015-11-25 11:29 561原文地址:http://coolnull.com/1463.h ... -
Mysql繁忙主从库在线修改表结构与添加索引问题
2015-11-19 11:01 1467原文地址:http://www.itpub.net/threa ... -
mysql 主从复制双主架构在线修改表结构、在线DDL
2015-11-19 10:59 1078原文地址:http://blog.csdn.net/clh60 ... -
高性能Mysql主从架构的复制原理及配置详解
2015-11-19 10:09 842原文地址:http://blog.csdn ... -
MySQ索引操作命令总结(创建、重建、查询和删除索引命令详解)
2015-11-18 18:13 613原文地址:http://www.shangxueba.com/ ... -
数据库性能优化一:数据库自身优化
2015-11-12 15:57 483原文地址:http://www.cnblo ... -
mysql在一个表中存储创建时间和最近更新时间
2015-10-26 15:10 1110原文地址:http://blog.sina.com.cn/s/ ... -
Mysql 如何设置字段自动获取当前时间
2015-10-26 15:07 1034原文地址:http://www.cnblogs.com/lhj ... -
MySQL的create table as 与 like区别
2015-04-30 10:05 681原文地址:http://blog.csdn.net/longy ... -
Mysql 慢查询和慢查询日志分析
2015-04-21 12:01 663原文地址:http://www.cnblogs.com/wrm ... -
linux下mysql的root密码忘记解决方
2015-04-20 15:58 574原文地址:http://www.cnblogs.com/all ... -
手把手搭建sphinx环境
2015-04-20 10:53 777原文地址:http://blog.csdn.net/uestc ... -
sphinx mysql innodb 联表数据源配置
2015-04-20 10:48 889原文地址:http://blog.phpdr.net/sphi ... -
mysql垂直分区和水平分区
2015-04-20 10:38 576原文地址:http://itsoul.iteye.com/bl ... -
MySQL隔离级别
2015-04-13 11:53 514原文地址:http://blog.csdn.net/taylo ... -
jdbc---隔离级别
2015-03-26 17:27 535原文地址“http://z466459262.iteye.co ... -
数据库事务隔离级别
2015-03-26 17:10 486原文地址:http://blog.csdn.net/fg200 ... -
JDBC事务隔离级别
2015-03-26 14:04 543原文地址:http://blog.csdn ... -
mysql开发者sql权威指南
2015-03-19 15:43 395原文地址:http://www.r20.nl/SQLforMy ...
相关推荐
在构建高性能的Web应用时,有时我们需要快速、准确地对大量数据进行检索,这时...总之,"php+mysql+sphinx"的组合为实现近实时索引提供了一种强大且灵活的解决方案,只要正确配置和使用,就能大大提高数据检索的效率。
SQL全文索引是一种在数据库中实现全文搜索的技术,它允许用户使用自然语言查询数据库,而不仅仅是精确匹配。Sphinx是一个高性能、开源的全文搜索引擎,它为SQL数据库提供了强大的全文索引功能。Sphinx与SQL结合使用...
介绍sphinx实时索引的特点和工作机制
总结,PHP7的Sphinx扩展是实现高效全文搜索的关键组件,尤其在处理大量数据和中文文本时。正确安装和配置Sphinx、CoreSeek以及相应的客户端库,能为开发者带来便捷的搜索体验。在Linux和Mac环境下,需注意系统依赖和...
1. **Sphinx搜索引擎**:Sphinx是一款独立的、高性能的全文检索引擎,支持实时索引和千万级数据量的搜索。它的主要特点包括快速的全文索引、准确定位结果、丰富的排序方式以及对多种数据库的支持,如MySQL和...
在实际应用中,还需要考虑优化索引策略、调整相关性评分算法、处理实时更新等问题,以确保Sphinx能提供最佳的全文检索体验。总之,Sphinx是PHP开发者实现高效全文检索功能的强大工具,通过合理配置和使用,可以显著...
Sphinx 是一个高性能全文搜索引擎,尤其适用于需要实时更新索引的应用场景。它的核心特性包括高效、灵活的配置以及对多种数据源的支持。在本篇文章中,我们将深入探讨 Sphinx 的实时索引(Real-Time Indexing)功能...
通过Sphinx的实时索引和分布式搜索能力,可以大大提高用户体验,降低服务器负载。 总结来说,PHP7.3版本的Sphinx扩展为开发人员提供了便捷的接口,以利用Sphinx的全文搜索功能。然而,开发者需要注意扩展与PHP版本...
在Linux环境中,构建一个基于PHP和Sphinx的搜索系统是一个高效且强大的解决方案,尤其适用于大数据量的全文检索。本文将详细介绍如何在Linux下配置和使用PHP与Sphinx进行实际操作。 首先,Sphinx是一个开源的全文...
在Windows环境下安装Sphinx的PHP扩展,可以使得PHP应用程序能够方便地与Sphinx服务器进行交互,实现高效的全文检索。 在Windows上安装Sphinx PHP5.5扩展,首先需要确保你的开发环境已经配置了PHP5.5版本。这个扩展...
【标题】"PHP实例开发源码—Sphinx全文检索引擎php版 for Windows"是一个针对Windows平台的PHP开发实例,它整合了Sphinx全文搜索引擎,旨在帮助开发者理解和运用Sphinx进行PHP项目的全文检索功能构建。 【Sphinx...
标题中的“基于PHP的Sphinxphp全文检索引擎forLinux源码.zip”指的是一个使用PHP语言开发的、适用于Linux操作系统的全文检索引擎——Sphinx。Sphinx是一款高效、强大的开源搜索引擎,设计用于处理大量数据,提供快速...
在本资源中,我们关注的是一个专为Linux系统设计的PHP全文检索引擎——Sphinx。Sphinx是一款高效、可扩展的开源全文搜索...通过学习和掌握Sphinx的使用,开发者可以提升网站的用户体验,实现更精准、快速的搜索功能。
Sphinx 是一个高性能、全功能的全文搜索引擎服务器,常用于与 PHP 等编程语言集成,以实现网站的实时搜索功能。这个版本号 "1.3.2" 指示了这是 Sphinx 客户端库的一个特定版本,与 PHP 5.6 兼容,且是为非线程安全...
2. 并行搜索:如果有多台Sphinx服务器,可以使用`setServer()`和`multiQuery()`实现并行查询,提高效率。 3. 分布式搜索:Sphinx支持分布式索引,通过配置文件设置多个数据源,`setLimits()`可限制每个数据源的返回...
Sphinx是一个开源的全文搜索引擎,它支持实时索引、布尔运算符、短语搜索、近似搜索以及多种排序方式等高级特性。与传统的数据库全文搜索相比,Sphinx提供了更快的速度和更高的召回率。它通过建立倒排索引来加速查询...
3. **实时更新**:Sphinx可以通过增量索引或实时索引机制,实现在数据源发生变化时迅速更新索引,确保搜索结果的时效性。 4. **多种数据源支持**:除了常见的关系型数据库,Sphinx还支持XMLpipe、MongoDB等非关系型...