sphinx总结----更新中,,,
------------------------------------
看文档:http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#ref-indexer
http://bbs.linuxtone.org/thread-7595-1-1.html
?
?
?
php
多个索引,php 端 用$sphinx->query('关键字', '索引1,索引2');
索引1,2 顺序是有意义的,权值和属性值 后面的高于前面的
?
【搜索多个关键词】,
尝试 批量查询 Addquery + RunQueries,? 注意? 前面的setFilters会被后面使用,所以要清除: ResetFilters,排序等也一样。
?
另一种:
设置匹配模式为 SPH_MATCH_BOOLEAN,然后用 | 分隔,我直接用 | 不加 () 不好使,用了() 和 | 配合才行,
$keyword = "(蝴蝶男)|(混蛋)";
$sphinx->SetMatchMode(SPH_MATCH_BOOLEAN);
?
默认 只出来20个结果,这里自定义一下
$sphinx->setLimits($offset,$length,$length);
?
?
?
----------------
?
一元分词 要配合着 独立的中文分词才有效果
?
?
不用一元分词:
#以下部分为中文分词核心配置#stopwords= /path/to/stowords.txt的位置charset_dictpath= /usr/local/mmseg3/etc/charset_type= zh_cn.utf-8#charset_table = .................... #需将原有的该配置注释掉ngram_len = 0#以上部分为中文分词核心配置
还能配置mmseg产生这个效果,搜“张三丰”,含 太极宗师,武当宗师的也能搜出来
张三丰-太极宗师,武当祖师,
?
?
-------------------
?
http://www.9enjoy.com/post/436/
?
第1,把增量索引存到共享内存中
第2,主索引和增量索引没有通过sph_counter表来记录主索引到达的ID,而是使用时间戳来判定,很适用于论坛的贴子索引。
第3,只需要Query($query,"main,delta"),就可以让程序搜索主索引+增量索引了。
?
?
?
?
?
服务器
更新索引的时候 加 --rotate ,不影响spginx搜索的正常使用
平滑重启 参数 SIGTERM
?
?
?
-----------------------------------------------------
索引:/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all
更新索引:/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all --rotate(可以定时每天更新一次)
搜索服务启动:/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf
搜索服务关闭:/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf --stop
搜索测试:/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx.conf -a 王
参考:
安装:http://www.coreseek.cn/products-install/install_on_bsd_linux/
PHP+MySQL使用Sphinx:http://www.coreseek.cn/products-install/step_by_step/
一元分词配置:http://www.coreseek.cn/products-install/ngram_len_cjk/
API:http://www.coreseek.cn/products-install/api-list/
?
参考
http://www.coreseek.cn/products-install/step_by_step/
http://docs.php.net/manual/zh/book.sphinx.php
?
?
?