为了节省时间,咱们就直奔主题!
用数据说话:
在windows上使用coreseek
安装步骤参考:http://www.coreseek.cn/products-install/install_on_windows/
安装好之后:
1.将文件 C:\usr\local\coreseek-4.1-win32\var\test\documents.sql 导入到mysql中test数据库中。
2.编辑文件 C:\usr\local\coreseek-4.1-win32\etc\csft_mysql.conf 修改成你的配置
sql_host = localhost
sql_user = root
sql_pass = 111111
sql_db = test
sql_port = 3306
把以下路径修改正确
path = c:/usr/local/coreseek-4.1-win32/var/documents #请修改为实际使用的绝对路径
charset_dictpath = c:/usr/local/coreseek-4.1-win32/etc/
pid_file = c:/usr/local/coreseek-4.1-win32/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径
log = c:/usr/local/coreseek-4.1-win32/var/log/searchd_mysql.log
query_log = c:/usr/local/coreseek-4.1-win32/var/log/query_mysql.log
3.然后可以尝试双击运行 C:\usr\local\coreseek-4.1-win32\test_mysql.cmd 查看命令行是否正常显示
到此为止,搜索引擎已经搭建好了,下面就是修改配置文件让它能够满足实际应用场景,这里我给出我的csft_mysql.conf
source my_source
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = 111111
sql_db = price
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = select a.id, a.id AS id_new,b.MName, b.MName AS name_query,a.PriceMonth,b.MID,b.MUnit,b.MFormat,a.Price,a.PriceSource as Suppliers,a.Brand FROM jprice as a left join m as b on a.MID=b.MID
#sql_query第一列id需为整数
#title、content作为字符串/文本字段,被全文索引
#sql_attr_uint = group_id #从SQL读取到的值必须为整数
#sql_attr_timestamp = date_added #从SQL读取到的值必须为整数,作为时间属性
sql_attr_string = MName
sql_attr_string = MID
sql_attr_string = MUnit
sql_attr_string = MFormat
sql_attr_string = Suppliers
sql_attr_string = Brand
sql_attr_float = Price
sql_attr_uint = PriceMonth
sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集
sql_query_info = SELECT a.*,b.* FROM jprice as a left join m as b on a.MID=b.MID WHERE a.id=$id #命令行查询时,从数据库读取原始数据信息
}
注意:索引的表必须有自增主键id
index my_index
{
source = my_source #对应的source名称
path = c:/usr/local/coreseek-4.1-win32/var/my_index #请修改为实际使用的绝对路径,例如:/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 = c:/usr/local/coreseek-4.1-win32/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
}
php代码如下:
<?php
require ( "sphinxapi.php" );
$cl = new SphinxClient ();
$cl->SetServer ( '127.0.0.1', 9312);
$cl->SetConnectTimeout ( 3 );
$cl->setArrayResult(true);
$cl->setSelect("MName,PriceMonth,MID,MUnit,MFormat,Price");
$cl->setMatchMode(SPH_MATCH_ALL);
$cl->SetFilterRange("PriceMonth", 201201, 201301);
$cl->SetLimits(0, 30);
$cl->SetSortMode(SPH_SORT_ATTR_DESC,"MName");
$cl->SetSortMode(SPH_SORT_ATTR_DESC,"PriceMonth");
$result = $cl->Query('热熔 110', 'my_index');//多个索引用','隔开 所有索引用*
print_r($result);
?>
在linux上使用coreseek
安装步骤参考:http://www.coreseek.cn/products-install/install_on_bsd_linux/
安装好之后,跟windows的一样,只需要修改配置文件csft_mysql.conf把 数据库的配置和所有路径修改正确即可!
祝你好运~~~