<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[废墟]]></title> 
<link>http://anerg.com/index.php</link> 
<description><![CDATA[颓废的蛰伏，等待涅槃的辉煌]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[废墟]]></copyright>
<item>
<link>http://anerg.com/read.php?14</link>
<title><![CDATA[php检索coreseek索引指定字段]]></title> 
<author>anerg &lt;r.anerg@gmail.com&gt;</author>
<category><![CDATA[Coreseek]]></category>
<pubDate>Tue, 06 Jan 2009 08:39:41 +0000</pubDate> 
<guid>http://anerg.com/read.php?14</guid> 
<description>
<![CDATA[ 
	有时候，我们查询的时候不需要把所有的字段都检索出来，只需要查询某个就可以了。例如，我们只需要检索标题中包含“中国”的内容，标题的数据表字段是title<br/>在代码中，我们需要这样来干就可以了<br/><br/>前面的我就略过不写了<br/><div class="code" style="overflow: auto;"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?<br />$tcol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$mode&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">SPH_MATCH_ALL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$cl&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SphinxClient&nbsp;</span><span style="color: #007700">(&nbsp;);<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetServer&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$port&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetConnectTimeout&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetWeights&nbsp;</span><span style="color: #007700">(&nbsp;array&nbsp;(</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">)&nbsp;);<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetLimits&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$off</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$limit</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">10000</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">10000&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetRankingMode&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$ranker&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetArrayResult&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">);<br />if&nbsp;(</span><span style="color: #0000BB">$m&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'title'</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$mode&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">SPH_MATCH_EXTENDED</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$tcol&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'@'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$m&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&nbsp;'</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetMatchMode&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$mode&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Query&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$tcol&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">join&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$keywords&nbsp;</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">$index&nbsp;</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br/><br/>恩，就是这样，很简单。不过如果内容是数字的，貌似不行，不知道为什么，有待继续研究
]]>
</description>
</item><item>
<link>http://anerg.com/read.php?9</link>
<title><![CDATA[关于coreseek删除数据]]></title> 
<author>anerg &lt;r.anerg@gmail.com&gt;</author>
<category><![CDATA[Coreseek]]></category>
<pubDate>Mon, 01 Dec 2008 06:31:21 +0000</pubDate> 
<guid>http://anerg.com/read.php?9</guid> 
<description>
<![CDATA[ 
	开始我也不知道具体如何操作，后来向乔大叔询问了一下，大概明白了怎么个做法<br/><br/>具体就是：建立数据表的时候就多一个字段，字段名为deleted<br/><br/>当php操作删除数据的时候，同时对索引进行更新，使用UpdateAttributes<br/><br/>然后当你查询的时候设置过滤SetFilter，将deleted为1的排除就可以了<br/>Tags - <a href="http://anerg.com/tag.php?tag=coreseek" rel="tag">coreseek</a> , <a href="http://anerg.com/tag.php?tag=%25E5%2585%25A8%25E6%2596%2587%25E6%25A3%2580%25E7%25B4%25A2" rel="tag">全文检索</a> , <a href="http://anerg.com/tag.php?tag=sphinx" rel="tag">sphinx</a>
]]>
</description>
</item><item>
<link>http://anerg.com/read.php?8</link>
<title><![CDATA[coreseek的php实现例子]]></title> 
<author>anerg &lt;r.anerg@gmail.com&gt;</author>
<category><![CDATA[Coreseek]]></category>
<pubDate>Wed, 26 Nov 2008 08:08:12 +0000</pubDate> 
<guid>http://anerg.com/read.php?8</guid> 
<description>
<![CDATA[ 
	今天把coreseek和目前干的项目进行了整合了，前台用的是php，测试数据在mysql里面，共有11w条数据<br/>如果采用普通的mysql查询，页面运行的时间是0.9s，索引以后搜索索引再根据索引得到的id查询数据库详细信息的页面执行时间是0.03s，速度快了30倍，我很满意，哈哈<br/><br/>以下是php搜索索引的核心部分代码<br/><div class="code" style="overflow: auto;"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">require_once&nbsp;</span><span style="color: #0000BB">AN_ROOT</span><span style="color: #007700">.</span><span style="color: #DD0000">"/inc/sphinxapi.php"</span><span style="color: #007700">;<br />require_once&nbsp;</span><span style="color: #0000BB">AN_ROOT</span><span style="color: #007700">.</span><span style="color: #DD0000">"/res/adodb/adodb.inc.php"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$keywords&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_REQUEST</span><span style="color: #007700">[</span><span style="color: #DD0000">'keywords'</span><span style="color: #007700">];<br /><br /></span><span style="color: #0000BB">$info&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">getInfoCoreSeek</span><span style="color: #007700">(</span><span style="color: #0000BB">$keywords</span><span style="color: #007700">,</span><span style="color: #0000BB">$_GET</span><span style="color: #007700">[</span><span style="color: #DD0000">'page'</span><span style="color: #007700">]);<br /><br />function&nbsp;</span><span style="color: #0000BB">getInfoCoreSeek</span><span style="color: #007700">(</span><span style="color: #0000BB">$keywords</span><span style="color: #007700">,</span><span style="color: #0000BB">$page</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$mode&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">SPH_MATCH_ANY</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$host&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$port&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3312</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"*"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ranker&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">SPH_RANK_PROXIMITY_BM25</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if(!</span><span style="color: #0000BB">$page</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">$page</span><span style="color: #007700">=</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$page&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">intval</span><span style="color: #007700">(</span><span style="color: #0000BB">$page</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$off&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$page</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">)*</span><span style="color: #0000BB">$limit</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SphinxClient&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetServer&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$port&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetConnectTimeout&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetWeights&nbsp;</span><span style="color: #007700">(&nbsp;array&nbsp;(&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetMatchMode&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$mode&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetLimits&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$off</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$limit</span><span style="color: #007700">,&nbsp;(&nbsp;</span><span style="color: #0000BB">$limit</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">10000&nbsp;</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">$limit&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">10000&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetRankingMode&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">$ranker&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetArrayResult&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">true&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$cl</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Query&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">join</span><span style="color: #007700">(</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$keywords</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">$index&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$res</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$pageL&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">PageQuery</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #DD0000">'total'</span><span style="color: #007700">],</span><span style="color: #0000BB">$page</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #DD0000">"act=search&amp;keywords="</span><span style="color: #007700">.</span><span style="color: #0000BB">$_REQUEST</span><span style="color: #007700">[</span><span style="color: #DD0000">'keywords'</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(</span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #DD0000">'matches'</span><span style="color: #007700">]&nbsp;as&nbsp;</span><span style="color: #0000BB">$v</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$arrID</span><span style="color: #007700">[]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;</span><span style="color: #0000BB">$v</span><span style="color: #007700">[</span><span style="color: #DD0000">'id'</span><span style="color: #007700">];&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$rs&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$GLOBALS</span><span style="color: #007700">[</span><span style="color: #DD0000">'db'</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">GetAll</span><span style="color: #007700">(</span><span style="color: #DD0000">"select&nbsp;id,title,content&nbsp;from&nbsp;info&nbsp;where&nbsp;id&nbsp;in("</span><span style="color: #007700">.</span><span style="color: #0000BB">join</span><span style="color: #007700">(</span><span style="color: #DD0000">','</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$arrID</span><span style="color: #007700">).</span><span style="color: #DD0000">")"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$GLOBALS</span><span style="color: #007700">[</span><span style="color: #DD0000">'tpl'</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">assign</span><span style="color: #007700">(</span><span style="color: #DD0000">'pageL'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$pageL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//echo&nbsp;'&lt;pre&gt;';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//print_r($res);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//echo&nbsp;'&lt;/pre&gt;';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">$rs</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div><br/>Tags - <a href="http://anerg.com/tag.php?tag=%25E5%2585%25A8%25E6%2596%2587%25E6%25A3%2580%25E7%25B4%25A2" rel="tag">全文检索</a> , <a href="http://anerg.com/tag.php?tag=coreseek" rel="tag">coreseek</a> , <a href="http://anerg.com/tag.php?tag=sphinx" rel="tag">sphinx</a> , <a href="http://anerg.com/tag.php?tag=php" rel="tag">php</a> , <a href="http://anerg.com/tag.php?tag=mysql" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://anerg.com/read.php?7</link>
<title><![CDATA[coreseek之中文utf8全文检索]]></title> 
<author>anerg &lt;r.anerg@gmail.com&gt;</author>
<category><![CDATA[Coreseek]]></category>
<pubDate>Tue, 25 Nov 2008 08:23:05 +0000</pubDate> 
<guid>http://anerg.com/read.php?7</guid> 
<description>
<![CDATA[ 
	我在使用coreseek的时候，默认值，即csft.conf中的charset_type = sbcs。如果是这样的话，当我们进行搜索的时候<br/><div class="code">sudo /usr/local/coreseek/bin/search 测试</div><br/>其返回值的中文将会是乱码，因为sbcs的定义是“Single Byte Character Set 单字节字符集“，这样是不符合我们的需求的，所以我们需要中文的utf-8。根据文档中的描述，charset_type 的另一个选项是utf-8，但实际上这对于中文是不行的。<br/>下面，我将我的方法写出来供新手参考：<br/><br/>首先，复制mmseg中的data文件夹到你的mmseg的安装目录中，当然，可以不这么做，但是我希望是将有联系的东西放在一起便于查找<br/><div class="code">sudo cp /home/anerg/software/mmseg.3.0b3/data/ /usr/local/mmseg/ -R </div><br/>这里可以根据你的情况设定具体的路径<br/><br/>然后进入刚才的路径，生成字典文件。<br/><div class="code">cd /usr/local/mmseg/data</div><br/>运行以下命令生成字典<br/><div class="code">sudo /usr/local/mmseg/bin/mmseg -u unigram.txt </div><br/>会生成一个unigram.txt.uni文件，将这个文件改名或者复制为uni.lib在当前文件夹<br/><div class="code">sudo cp unigram.txt.uni uni.lib</div><br/><br/>ok，字典弄好了<br/><br/>现在修改csft.conf文件<br/><div class="code">sudo gedit /usr/local/coreseek/etc/csft.conf</div><br/>查找charset_type并修改为charset_type&nbsp;&nbsp; = zh_cn.utf-8同时添加一行charset_dictpath&nbsp;&nbsp;= /usr/local/mmseg/data<br/>保存退出，现在向默认的mysql数据库中插入一条中文信息。注意需要utf8_general_ci编码<br/>重建索引<br/><div class="code">sudo /usr/local/coreseek/bin/indexer --all</div><br/>好了，现在可以正常查询了，并且返回的也是正常的中文信息。测试一下<br/><div class="code">sudo /usr/local/coreseek/bin/search 中文测试 </div><br/><br/>呵呵，ok了。。<br/>Tags - <a href="http://anerg.com/tag.php?tag=coreseek" rel="tag">coreseek</a> , <a href="http://anerg.com/tag.php?tag=ubuntu" rel="tag">ubuntu</a> , <a href="http://anerg.com/tag.php?tag=%25E5%2585%25A8%25E6%2596%2587%25E6%25A3%2580%25E7%25B4%25A2" rel="tag">全文检索</a> , <a href="http://anerg.com/tag.php?tag=sphinx" rel="tag">sphinx</a>
]]>
</description>
</item><item>
<link>http://anerg.com/read.php?6</link>
<title><![CDATA[ubuntu8.10下全文检索coreseek的安装，体验]]></title> 
<author>anerg &lt;r.anerg@gmail.com&gt;</author>
<category><![CDATA[Coreseek]]></category>
<pubDate>Mon, 24 Nov 2008 06:54:16 +0000</pubDate> 
<guid>http://anerg.com/read.php?6</guid> 
<description>
<![CDATA[ 
	先去官方网站下载最新的2个包，我下的是3.0 beta4，得到以下两个包<br/>csft3_0b4.tar.gz<br/>mmseg3_0b3.tar.gz<br/><br/>我将其放在/home/anerg/software了<br/><br/>解压<br/><div class="code">tar -xzvf mmseg3_0b3.tar.gz <br/>tar -xzvf csft3_0b4.tar.gz<br/></div><br/>编译mmseg<br/><div class="code">cd mmseg*<br/>sudo ./configure --prefix=/usr/local/mmseg<br/>sudo make<br/></div><br/>很不幸，这里我出错了，错误提示为：css/UnigramCorpusReader.cpp:89: error: 'strncmp' was not declared in this scope<br/>手动修改了src/css/UnigramCorpusReader.cpp<br/>在上面添加了一句<div class="code">#include &lt;string.h&gt;</div><br/><br/>从新，编译，安装<br/><div class="code">sudo ./configure --prefix=/usr/local/mmseg<br/>sudo make<br/>sudo make install<br/></div><br/><br/>ok安装完毕了。<br/><br/>编译coreseek<br/><div class="code">cd csf*<br/>sudo ./configure --prefix=/usr/local/coreseek --with-python --with-mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib/<br/></div><br/>又有问题了，没找到mysql<br/>原来是没装mysql dev<br/><div class="code">sudo apt-get install libmysqlclient15-dev<br/></div><br/>再次编译<br/><div class="code">sudo ./configure --prefix=/usr/local/coreseek --with-python --with-mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib/<br/></div><br/>好了，没问题了，make试试<br/>残念。。又出错了<br/><div class="code">make&#91;2&#93;: *** &#91;tokenizer_zhcn.o&#93; 错误 1<br/>make&#91;2&#93;:正在离开目录 `/home/anerg/software/csft3_0b4/src&#039;<br/>make&#91;1&#93;: *** &#91;all&#93; 错误 2<br/>make&#91;1&#93;:正在离开目录 `/home/anerg/software/csft3_0b4/src&#039;<br/>make: *** &#91;all-recursive&#93; 错误 1<br/></div><br/>仔细看了看，修改/usr/local/mmseg/include/mmseg/freelist.h这个文件，在上面添加<div class="code">#include &lt;string.h&gt;</div><br/>终于。。。我安装好了。。真不容易。。。<br/>从新编译，安装，ok了<br/><br/>好了，稍微体验一下吧<br/><div class="code">cd /usr/local/coreseek/etc<br/>sudo cp sphinx.conf.dist csft.conf<br/>sudo gedit csft.conf<br/></div><br/>更改里面mysql的参数为你的。去掉sql_query_pre&nbsp;&nbsp;= SET NAMES utf8前面的#<br/><div class="code">mysql -u test &lt; /usr/local/coreseek/etc/example.sql<br/></div><br/>如果出错，看看你是不是有test这个数据库。<br/>现在创建索引<br/><div class="code">sudo /usr/local/coreseek/bin/indexer --all<br/></div><br/>好了，测试一下吧<br/><div class="code">sudo /usr/local/coreseek/bin/search test<br/></div><br/>ok，你会看到有结果了。<br/><br/>后记：说实话，coreseek的文档太不规范也不全了。不管怎么样，打算用就慢慢自己尝试吧。<br/><br/>Tags - <a href="http://anerg.com/tag.php?tag=coreseek" rel="tag">coreseek</a> , <a href="http://anerg.com/tag.php?tag=sphinx" rel="tag">sphinx</a> , <a href="http://anerg.com/tag.php?tag=%25E5%2585%25A8%25E6%2596%2587%25E6%25A3%2580%25E7%25B4%25A2" rel="tag">全文检索</a> , <a href="http://anerg.com/tag.php?tag=ubuntu" rel="tag">ubuntu</a>
]]>
</description>
</item>
</channel>
</rss>