实施索引配置: #RT实时索引配置,详情请查看:http://www.coreseek.cn/products-install/rt-indexes/ #RT实时索引定义 index rtindex { type = rt path = var/data/rtindex #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... docinfo = extern mlock = 0 morphology = none min_word_len = 1 html_strip = 0 #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/ #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8 #RT实时索引字段配置,详情请查看:http://www.coreseek.cn/products-install/rt-indexes/ #字段设置顺序:field, uint, bigint, float, timestamp, string;顺序不可颠倒,否则产生混乱 #使用后,不可更改字段设置,除非删除所有索引文件重新建立,否则产生混乱 #文档编号字段 #id #系统自动处理 #全文索引字段 rt_field = title #全文索引字段 rt_field = content #全文索引字段 #属性字段 rt_attr_uint = groupid rt_attr_bigint = biguid rt_attr_float = score rt_attr_timestamp = date_added #存储内容字段 rt_attr_string = author #存储author的内容 #已设置全文索引,并需要同时存储内容的字段 rt_attr_string = title #同时存储title的内容 rt_attr_string = content #同时存储content的内容 #RT实时索引内存设置 rt_mem_limit = 512M } #searchd服务定义 searchd { listen = 9312 listen = localhost:9306:mysql41 #MySQL 协议支持与SphinxQL,详情请查看:http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#sphinxql read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = var/log/searchd_rtindex.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... log = var/log/searchd_rtindex.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... query_log = var/log/query_rtindex.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... binlog_path = var/log/rtindex/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/... binlog_flush = 2 binlog_max_log_size = 16M }
PHP测试程序: <?php // -------------------------------------------------------------------------- // File name : test_coreseek_rtindex.php // Description : coreseek中文全文检索系统实时索引测试程序 // Requirement : PHP5 (http://www.php.net) // // Copyright(C), HonestQiao, 2011, All Rights Reserved. // // Author: HonestQiao (honestqiao@gmail.com) // // 最新使用文档,请查看:http://www.coreseek.cn/products/products-install/ // // -------------------------------------------------------------------------- #连接到实时索引,使用MySQL41协议 $link = mysql_connect('localhost:9306') or die('connect bad'); if (!$link) { echo mysql_errno() . ": " . mysql_error(). "\n"; exit; } else { echo "搜索服务:连接成功\n"; } #查询id为1的文档 $id=1; $query=mysql_query("SELECT * FROM rtindex WHERE id=$id"); if(mysql_errno()) { echo mysql_errno() . ": " . mysql_error(). "\n"; exit; } else { echo "查询数据:查询成功\n"; } if(mysql_num_rows($query)){ echo "查询数据:id为 $id 的数据存在\n"; while($row=mysql_fetch_array($query,MYSQL_ASSOC)) { printf("标题:%s\n",$row['title']); } } else { echo "新增数据:插入id为 $id 的数据\n"; $title = '愚人节最佳蛊惑爆料 谷歌300亿美元收购百度'; $content = '据国外媒体报道,谷歌将巨资收购百度......今天看来,“百度一下”已经成为3亿多中国网民的网络生存法则,而直到今天环视全球,真正能像中国一样,拥有自己独立搜索引擎的只有4个国家!......'; $groupid = 1; $biguid = '12345678901234'; $score = 12.34; $date_added = time(); $author = '知名编辑'; //主键id,需要自己设置,不会自动生成或者递增(AUTO_INCREMENT) $content = mysql_escape_string($content); mysql_query($sql="INSERT INTO rtindex(id,title,content,groupid,biguid,score,date_added,author) VALUES ( $id, '$title', '$content', $groupid,$biguid,$score,$date_added,'$author')"); if(mysql_errno()) { echo mysql_errno() . ": " . mysql_error(). "\n"; echo $sql; exit; } else { echo "新增数据:插入成功\n"; } } echo "\n全文检索:\n"; $query=mysql_query("SELECT * FROM rtindex WHERE MATCH('网络搜索')"); if(mysql_errno()) { echo mysql_errno() . ": " . mysql_error(). "\n"; exit; } else { echo "搜索数据:搜索成功\n"; } while($row=mysql_fetch_array($query,MYSQL_ASSOC)) { print_r($row); } echo "搜索数据:状态获取\n"; $query=mysql_query("SHOW META"); if(mysql_errno()) { echo mysql_errno() . ": " . mysql_error(). "\n"; exit; } else { echo "搜索数据:状态获取成功\n"; } while($row=mysql_fetch_array($query,MYSQL_NUM)) { printf("%s\t%s\n",$row[0],$row[1]); }