关于sphinx中的字段field和属性attr及指定字段搜索的实现
SPH_MATCH_EXTENDED,扩展匹配模式。可以让用户指定某个字段搜索关键词。SPH_MATCH_EXTENDED不加任何指定字段限制,它就相当于使用SPH_MATCH_ALL,即匹配所有查询分词,比如搜索“中国铁路”,搜索时会进行分词成“中国”和“铁路”,默认就是必须同时出现这两个词才算结果满足查询条件。但不需考虑顺序(SPH_MATCH_PHRASE则要求中国必须出现在铁路的前面。关于sphinx的搜索的更多模式,有文章:http://www.04007.cn/article/268.html 针对自定义生成的xml文档,我们需...[>>…]
centos搜索软件sphinx查询时报错parse error: if() arguments can not be MVA.
今天在测试一个sphinx查询任务时,碰到这样的报错,parseerror:if()argumentscannotbeMVA.大概的意思是if语句里面的参数字段不能是MVA字段,涉及问题的SQL部分如下: (IF(IN(newstype,0,37)ANDIN(news_weight,39),1,0))ASendvalue SQL的特点是由一个if语句的执行结构组成一个字段,而if里面的newstype在sphinx。通过报错的分析及对sphinx里面的字段的查看(可以通过desc索引名查看各索引字段的特征),索引中的newstype字段是一个MVA类型的值,那报错的意思就是这里不...[>>…]
关于sphinx搜索进程searchd启动工作进程数及mysql查询方式
即sphinx的searchd服务模式可以是多处理模式MPM,如下为启动一个searchd之后,可以看到随即searchd即启动了10个工作进程。 [root@localhosttest]#ps-efgrepsearchd root102321014:23pts/500:00:00/usr/local/coreseek4.1/bin/searchd-c/usr/local/coreseek4.1/etc/news.conf root10233102323714:23pts/500:00:02/usr/local/coreseek4.1/bin/searchd-c/usr/local/coreseek4.1/etc/news.conf root10234102324414:23pts/500:00:03/usr/local/coreseek4.1/bin/searchd-c/usr/local/coreseek4.1/e...[>>…]
sphinx索引中关于indexer里的mem_limit配置项的大小限制
今天在进行sphinx索引的时候遇到报错:WARNING:collect_hits:mem_limit=-2097152kbtoolow,increasingto-118752kb,排查后发现是mem_limit配置项的问题,indexer索引中的配置项mem_limit是建立索引时的索引内存限制值,此值并不是越大越好,今天在修改配置的时候,考虑到服务器内存足够大,我就把这个配置改成了2G即2048M,然后在索引的时候就碰到了下面的报错,详细如下: [kermit@kermitsphinxdata]$sudobin/indexer-c/usr/local/coreseek4.1/etc/test.confbase CoreseekFulltext4.1[Sphinx...[>>…]
安装coreseek4.1的sphinx时出现undefined reference to `libiconv_open错误
安装coreseek4.1的sphinx时出现undefinedreferencetolibiconv_open错误,详细报错如下: libsphinx.a(sphinx.o):Infunction`xmlUnknownEncoding': /opt/modules/download/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22292:undefinedreferenceto`libiconv_open' /opt/modules/download/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22310:undefinedreferenceto`libiconv' /opt/modules/download/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22316:undefinedreferenceto`libiconv_close' collect2:ld...[>>…]
coreseek4.1使用sphinx做索引的索引控制shell脚本及逻辑
sphinx做索引时索引数据来源可以有多种方式,比如数据库mysql,pgsql,mssql,odbc,也可以是python脚本,也可以是xml数据文件,xmlpipe。 一般来说,如果索引的数据比较简单,需要入索引的字段直接就在数据库表中不需要进行其它额外的处理,完全可以直接使用数据库做索引数据来源,然后写好索引的mysql和增量索引的mysql(一般数据表字段中需要有一个带索引的最后修改时间字段),即可以实现索引,就像本站的搜索,即是使用sphinx直接连接mysql执行索引。但如果需要...[>>…]
coreseek以xml文件作索引源时提示sphinx/coreseek xmlpipe2 support NOT compiled
今天在使用php对库进行大量查询处理生成一个较大的xml文件,然后准备使用此xml文件作为coreseeksphinx索引数据来源时遇到报错sphinx/coreseekxmlpipe2supportNOTcompiled。即是提示加载xml数据源所需要的xmlpipe2支持未编译进来。 WARNING:source'maindata':xmlpipe2supportNOTcompiledin.Tousexmlpipe2,installmissingXMLlibraries. 解决办法很简单:yuminstall-yexpat-devel安装xml的支持扩展,如其描述:Theexpat-develpackagecontainsthe...[>>…]
linux安装coreseek4.1的sphinx服务及中文分词mmseg的报错解决方法
之前有过一篇安装coreseek的笔记,但是里面没有碰到什么报错,这里把一些错误列出来,原文章地址:http://www.04007.cn/article/265.html. 下载coreseek到指定目录解压后,执行bootstrap,开始有报错,报错信息显示缺少libtoolize工具,这个错误可以通过安装libtool来解决. [onlinedev@BFG-OSER-4435mmseg-3.2.14]$sudo./bootstrap +aclocal-Iconfig config/sys_siglist.m4:20:warning:underquoteddefinitionofSIC_VAR_SYS_SIGLIST config/sys_siglist.m4:20:runinfo...[>>…]
遇到了蛋痛的问题:无法定位程序输入点 ucrtbase.abort api-ms-win-crt-runtime-l1-1-0.dll
遇到了蛋痛的问题,下午整了2小时还没有解决。开始是报放无法启动,因为计算机中丢失:api-ms-win-crt-runtime-l1-1-0.dll,从网上下载了这个文件,准备放到windows7中的目录C:WindowsSysWOW64里面,但发现里面实际存在这个文件,没别的办法,把这个文件得到到了system32中,结果好像起到了一点效果,不再提示找不到这个文件,但时此时提示无法定位程序输入点ucrtbase.abortapi-ms-win-crt-runtime-l1-1-0.dll。如下图: 尝试了多种办法,期间在安装vc_redist.x64.exe的时候安装...[>>…]
关于CDN及CDN里的缓存模块主要使用的技术
CDN即是ContentDeliveryNetwork(内容分发网络),名字听起来很高大上,但我如果说它就是一个缓存系统,那就很容易理解了。而实际它就是这么回事。例如你请求一个URL,而这个URL使用了CDN,此时你再请求URL时,后端执行服务器根本收不到你的请求,而是直接在CDN服务器上,根据你的URL匹配是否有缓存(未过期),如果有缓存则直接返回结果。 所以我们经常听到CDN加速这个词,试想WEB请求如果使用了CDN即使用了缓存,当然能实现加速。CDN的实现是通过在网络各处放置节点服...[>>…]