栏目导航: 首页 > 数据库类 > MySQL数据库 > 内容

CoreSeek配置MySql数据源

www.hx99.net    时间: 2015-06-15    阅读: 次     整理: 华西安全网

 

安装MySql和CoreSeek

  • 这里用的是MySql5.0和Coreseek4.0.1-win32
  • 安装参考:MySql5.0安装指南
  • 默认主机:localhost
  • 默认MySql端口:3306
  • 下载解压Coreseek:下载Coreseek

修改root用户密码

  • 默认的root用户没有密码
  • 到mysql安装目录的bin目录下
  • 执行cmd命令:mysqladmin -u root -password 1234
  • 将root用户的密码设为:1234

创建数据库

  • 登陆数据库:mysql -u root -p1234
  • 创建数据库:create database html_url;
  • 显示数据库:show databases;

设计数据表字段

  • 文档编号:id
  • 查询过滤:分组(group_id),时间(date_info)
  • 全文检索:网页概要(summary),URL
  • 进入数据库:use html_url
  • 编写sql文件:documents.sql
  • 将文件导入数据库:source d:\documetns.sql
  • 修改mysql的默认编码为utf-8:修改mysql默认编码为utf-8
-- documetns.sql -- 主机: localhost -- 端口:3306 -- 数据库: html_url  -- -- 表的结构 `documents` -- DROP TABLE IF EXISTS `documents`; CREATE TABLE IF NOT EXISTS `documents` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `summary` varchar(255) NOT NULL,   `url` text NOT NULL,   `date_info` datetime NOT NULL,   `group_id` int(2) NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;  -- -- 转存表中的数据 `documents` -- INSERT INTO `documents` (`id`, `summary`, `url`, `date_info`, `group_id`) VALUES (1, '百度官网', 'https://www.baidu.com/', '2015-02-25 13:20:07', 1), (2, '多玩官网', 'http://www.duowan.com/', '2015-02-25 13:20:08', 1), (3, '淘宝官网', 'http://www.taobao.com/', '2015-02-25 13:20:09', 1); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

设置Coreseek索引文件

  • 设置Coreseek根目录/etc/csft_mysql.conf文件
  • 前提是完成之前建数据库,表和插入数据的操作
#csft_mysql.conf #MySql数据源定义 source mysql {     type                    = mysql            #数据源类型          sql_host                = localhost        #主机     sql_user                = root             #数据库用户名     sql_pass                = 1234             #root用户的密码     sql_db                  = html_url         #html_url数据库     sql_port                = 3306             #默认端口     sql_query_pre           = SET NAMES utf8      #设置查询语句     sql_query               = SELECT id, group_id, UNIX_TIMESTAMP(date_info) AS date_info, summary, url FROM documents      sql_attr_uint           = group_id          #Coreseek查询结果附带属性     sql_attr_timestamp      = date_info        #时间属性      #命令行查询时,设置正确的字符集     sql_query_info_pre      = SET NAMES utf8                                              #命令行查询时,从数据库读取原始数据信息     sql_query_info          = SELECT * FROM documents WHERE id=$id  }  #定义MySql数据源的索引index格式 index mysql {     #对应的数据源名称     source          = mysql                      #数据源路径     path            = C:\usr\local\coreseek-4.0.1-win32\var\data\mysql      docinfo         = extern     mlock           = 0     morphology      = none     min_word_len    = 1     html_strip      = 0      #中文分词配置     charset_dictpath = C:\usr\local\coreseek-4.0.1-win32\etc\                                charset_type        = zh_cn.utf-8 }  #全局index定义 indexer {     mem_limit            = 128M }  #searchd服务器定义 searchd {     listen                  = 9312     read_timeout            = 5     max_children            = 30     max_matches             = 1000     seamless_rotate         = 0     preopen_indexes         = 0     unlink_old              = 1      pid_file = C:\usr\local\coreseek-4.0.1-win32\var\log\searchd_mysql.pid        log = C:\usr\local\coreseek-4.0.1-win32\var\log\searchd_mysql.log          query_log = C:\usr\local\coreseek-4.0.1-win32\var\log\query_mysql.log   }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

根据配置文件建立索引

  • 在Coreseek根目录输入cmd命令,为数据源建立索引
  • bin\indexer -c etc\csft_mysql.conf --all
  • 结果为3个文档,跟我们插入的3条数据相对应,说明正确建立索引

查询数据源中的数据

  • 数据源中有3条数据:百度官网,多玩官网和淘宝官网
  • CMD默认编码是gbk,而输入是utf-8,会乱码,现在把CMD设置成utf-8编码模式
  • 将CMD设为utf-8模式:chcp 65001
  • 再在Coreseek根目录搜索:bin\search -c etc\csft_mysql.conf

小结

  • 现在Coreseek已经可以查询Mysql的数据了
  • 下一步用Scrapy将网页的summary和URL爬取存进数据库
  • 然后将搜索结果返回给Django的结果页面
本文来源:华西安全网[http://www.hx99.net]
发表评论】【告诉QQ好友】【错误报告】【加入收藏】【关闭