讲解Sphinx、Coreseek在windows下的配置安装及测试
- 格式:doc
- 大小:220.00 KB
- 文档页数:8
Coreseek/Sphinx环境安装与部署一、环境安装:1. Microsoft Visual C++ 运行环境,一般系统自带;如果运行提示“应用程序错误”,则需要安装coreseek-4.x版本, Microsoft Visual C++ 2008 运行环境 (x86)(32位系统和64位系统均安装该版本);注意:是运行环境,不是开发环境,才1.7M大小,从微软官方网站下载Microsoft Visual C++ 2008 Redistributable Package (x86),然后安装(压缩包里面有我下好的可以直接使用);2. 安装 Coreseek-win32(必须):【2011年1月12日更新,支持命令行中文搜索测试】从Coreseek官方网站下载/uploads/csft/4.0/corese ek-4.1-win32.zip(压缩包里面有我下好的可以直接使用);3. 安装Python 2.6 Windows (x86)(必须,32位系统和64位系统均安装该版本),从ActiveState官方网站下载ActivePython 2.6 Windows (x86),然后安装;也可从华军软件园下载ActivePython 2.6 Windows (x86),然后安装(压缩包里面有我下好的可以直接使用);4.安装cx_Oracle-5.0.4-11g.win32-py2.6.msi这个是针对python连接oracle的插件,压缩包里面也有直接安装就行。
二、Coreseek/Sphinx安装:1.安装前,建议查看:Win版本README.txt;如遇到问题,就是环境安装出错;2.下载coreseek win32版本:coreseek 4.1;3.点击压缩包,压缩出来即可。
4.目录中的README.txt文件中,有所有配置和test测试文件的说明。
三、python连接oracleSphinx使用oracle数据源需要python脚本的支持才可以创建索引。
简介:Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等;使用环境:使用Sphinx在Python中的API接口,制作基于Python工程的API文档;具体步骤:1.在Python安装目录下,在联网环境下,使用pip install Sphinx命令;也可将sphinx的文件包直接放置,Python安装目录下./Lib/site-packetages/下直接使用;2.在Windows系统下,打开cmd命令行,cd到Python工程目录下:F:\Hisense\HiCONDiagnosis;执行命令:sphinx-quickstar;3.对主要命令做出规范,其他命令选择默认即可:(1)Please enter a new root path (or just Enter to exit) []: docs;(名字自己起)(2)Separate source and build directories (y/n) [n]: y;(3)Project name: HiCONAPI;(名字自己起)(4)Author name(s): HiCON;(名字自己起)(5)Project release []: 1.0.0v;(名字自己起)(6)autodoc: automatically insert docstrings from modules (y/n) [n]: y;4.配置conf.py文件在F:\Hisense\HiCONDiagnosis\docs\source\conf.py文件中加入如下代码,导入自己的项目路径;5.生成各模块的.rst文件:执行命令:sphinx-apidoc -o ./docs/source ./注意:-o 后面跟的是保存rst文件的路径,index.rst文件在哪个目录,就指定哪个目录(文中为./docs/source)。
查阅地址/sphinx-tutorial一.#MySQL数据源配置,详情请查看:/products-install/mysql/#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库#源定义source mysql{type = mysqlsql_host = localhostsql_user = rootsql_pass =sql_db = testsql_port = 3306sql_query_pre = SET NAMES utf8#sql_query第一列goods_id需为整数可以写lift joinsql_query = SELECT goods_id, goods_name FROM td_goods#筛选可多个条件sql_attr_multi = uint cate_id from query; SELECT goods_id,cat_id FROM td_category_goodssql_attr_uint = cate_id #从SQL读取到的值必须为整数}#index定义index taidu{source = baidu #对应的source名称path = var/data/mysql #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...docinfo = externmlock = 0morphology = nonemin_word_len = 1html_strip = 0#中文分词配置,详情请查看:/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}#全局index定义indexer{mem_limit = 128M}#searchd服务定义searchd{listen = 9312 #开启端口read_timeout = 5max_children = 30max_matches = 1000seamless_rotate = 0preopen_indexes = 0unlink_old = 1pid_file = var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...log = var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...query_log = var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...binlog_path = #关闭binlog日志}二.Php调用ecmall sphinx 已集成进去了产品筛选$_cs = &sphinx_server();$_cs->SetServer('localhost',9312); //设置服务器和端口$_cs->setMatchMode(SPH_MATCH_ANY);//设置匹配模式$_cs->setMaxQueryTime(3);//设置最大查询时间//$result = $_sphinx_server->query('test');//test为关键字//$_cs->SetFilter('cate_id', array(95,35,36));//$result = $_cs->query('搜索','*');//查询cate_id 为95,35,36下的$_cs->SetFilter('cate_id', array(95,35,36));$r = $_cs->query('','*');rdump($r);全文检索数据源sql_query = SELECT goods_id,cate_id,UNIX_TIMESTAMP(date_added) AS date_added, goods_name, description FROM td_goods #sql_query第一列id需为整数#goods_name、description作为字符串/文本字段,被全文索引sql_attr_uint = cate_id #从SQL读取到的值必须为整数sql_attr_timestamp = date_added #从SQL读取到的值必须为整数,作为时间属性sql_query_info_pre = SET NAMES utf8直接调用query 就可以返回数据$result = $_cs->query('搜索','*');。
Sphinx 的安装及使用一、为什么要使用sphinx假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时候你就可以考虑使用 sphinx了二、Sphinx是什么它是一个高性能的全文搜索软件包。
全文搜索是指以文档的全部文本信息作为检索对象的一种信息检索技术,检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章摘要或内容。
三、Sphinx的特性高速索引(在新款CPU上,近10M/s)高速搜索(在2-4G的文本量中平均查询速度不到0.1秒)高可用性(单CPU上最大可支持100GB的文本,100M文档)提供良好的相关性排名支持分布式搜索提供文档摘要生成支持每个文档多属性支持断词四、下载并安装sphinx/news/7/52/找到适合自己操作系统的版本,linux下下载源码包,编译安装。
Coreseek是基于sphinx开发的一款软件,对sphinx做了一些改动,在中文方面支持得比sphinx好。
下载完成后,解压到想解压的地方,比如E盘根目录下,更名为coreseek。
Coreseek就安装完成了。
解压后的目录如下:五、Sphinx的使用要使用sphinx需要做以下几件事1)首先数据库里得有数据2)建立sphinx配置文件3)生成索引4)启动sphinx5)在程序中通过api调用 sphinx,获取数据1)、导入数据解压的文件里找到 var/test/documents.sql 执行,建立documens表。
2)、建立配置文件接下来我们需要建立一个sphinx的配置文件 E:\coreseek\etc\mysql.conf,将其内容改为下面这些:source mysql{Type= mysqlsql_host = localhostsql_user = rootsql_pass =sql_db = testsql_port = 3306sql_query_pre = SET NAMES utf8sql_query = SELECT id,group_id,UNIX_TIMESTAMP(date_added) AS date_added,title,content FROM documents WHERE id<=(SELECT max_doc_id FROM sph_counter WHERE counter_id=1)sql_attr_uint = group_idsql_attr_timestamp = date_added}index mysql{source = mysqlpath = E:/coreseek/var/data/mysqlcharset_dictpath = E:/coreseek/etc/charset_type= zh_cn.utf-8}searchd{Listen= 9312max_matches = 1000pid_file = E:/coreseek/var/log/searchd_mysql.pidlog = E:/coreseek/var/log/searchd_mysql.logquery_log = E:/coreseek/var/log/query_mysql.log}先讲一下这个配置文件中每项的含义。
PHP中提高搜索性能的Coreseek(Sphinx)1.PHP中提高搜索性能的Coreseek(Sphinx)1.1.什么是Coreseek(Sphinx)Coreseek 是一款中文全文检索/搜索软件,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域.Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
1.2.为什么使用Sphinx和数据库相比Sphinx是专业做搜索,相比数据库的效率要高很多.1. 索引和搜索性能优异;2. 先进的索引和查询工具 (灵活且功能丰富的文本分析器,查询语言,以及多种不同的排序方式等等);3. 先进的结果集分析处理 (SELECT 可以使用表达式, WHERE, ORDER BY, GROUP BY 等对全文搜索结果集进行过滤);4. 实践证实可扩展性支持数十亿文档记录,TB级别的数据,以及每秒数千次查询;5. 易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口6. 易于通过分布式搜索进行扩展1.3.Sphinx在哪里使用适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景. 只要需要搜索的地方都可以使用Sphinx提高搜索效率.2.Sphinx核心概念2.1.全文检索程序的工作流程如果信息检索系统在用户发出了检索请求后再去互联网上找答案,根本无法在有限的时间内返回结果。
所以要先把要检索的资源集合放到本地,并使用某种特定的结构存储,称为索引(中国叫做目录),这个索引的集合称为索引库。
由于索引库的结构是按照专门为快速查询设计的,所以查询的速度非常快。
我们每次搜索都是在本地的索引库中进行,如下图:从图片上可以看出,我们不仅要搜索,还要保证数据集合与索引库的一致性。
Sphinx Windows 版安装配置极简版以下内容以Sphinx 2.0.5,PHP 为例。
需要提前说明一下,官方版本对中文支持不好。
1,下载安装包,并解压到某个目录,比如解压到D:/sphinx/2,该文件夹下一共有如下几个比较重要的文件。
a)D:/sphinx/sphnix.conf.in 配置文件参考b)D:/sphinx/bin/indexer.exe 索引生成命令c)D:/sphinx/bin/searchd.exe 服务(包括search.exe)d)D:/sphinx/api/sphinxapi.php PHP接口3,在D:/sphinx/ 下建立data 和log 文件夹。
4,将D:/sphinx/ 建立文件sphinx.conf,内容可参考附录1,或者sphinx.conf.in。
5,然后更新索引,运行服务。
具体可以以管理员身份执行命令(CMD)D:cd "D:/sphinx/bin"indexer.exe --config "D:/sphinx/sphinx.conf" --allsearchd.exe --config "D:/sphinx/sphinx.conf"如果没有报错,应该就没什么问题了。
6,如无其它意外,此时应该已经安装配置成功。
可以管理员身份执行命令search.exe testwords –config “D:/sphinx/sphinx.conf”其中testwords 是要查询的词语。
7,下面来使用API 来搜索字词。
可参考api 文件夹下的test2.php,此文件可通过WEB 方式访问。
或者参考附录2。
补充:如需更新配置文件,需先停掉服务,等配置文件更新完成后,再重新开启服务。
附录1 sphinx.confsource src_test{type = mysqlsql_host = localhostsql_user = rootsql_pass = 123456sql_db = testdatasql_port = 3306 # optional, default is 3306sql_query_pre = SET NAMES utf8sql_query = \SELECT id, 1 as idd, province, location_full \FROM ip_database}index test{source = src_testpath = D:/sphinx/data/testdocinfo = externcharset_type = utf-8}附录2<?php/*** sphinx 接口** 传入要查询的 base64 加密的 url* ?q=xxx* 返回查到的对应的id** filename: index.php* charset: UTF-8* create date: 2012-8-28** @author Zhao Binyan <itbudaoweng@>* @copyright 2011-2012 Zhao Binyan* @link * @link /itbudaoweng*///引入 sphinx API 文件include "../../../sphinx/api/sphinxapi.php";header('Content-Type:text/html; charset=utf-8'); error_reporting(0);$ret = array();$q = $_GET['q'];//$q = base64_decode($q);if (!is_int($q)) {$q = "\"$q\"";}$index = '*';//sphinx$sphinx = new SphinxClient();$sphinx->SetServer('localhost');$sphinx->SetMatchMode(SPH_MATCH_EXTENDED); $sphinx->SetRankingMode(SPH_RANK_NONE);//搜索词切记使用双引号包裹一下$q = $sphinx->Query($q, $index);if ($q['total'] > 0) {$ret = array_keys($q['matches']);}echo json_encode($ret);更多内容请参考:/docs/2.0.5/赵彬言(IT不倒翁)/itbudaoweng2012年8月29日星期三。
在windows下Coreseek的配置安装与测试一、安装:1. 安装Python2.6 Windows (x86)(必须,32位系统和64位系统均安装该版本):从ActiveState官方网站下载ActivePython 2.6 Windows (x86),然后安装;您也可从华军软件园下载ActivePython 2.6 Windows (x86),然后安装;2. 安装 Microsoft Visual C++ 2005 Redistributable Package (x86)(必须,32位系统和64位系统均安装该版本):从微软官方网站下载Microsoft Visual C++ 2005 Redistributable Package (x86),然后安装;3. 安装 Coreseek-3.2.13(必须):【2010年11月14日更新,支持命令行中文搜索测试】从Coreseek官方网站下载/uploads/csft/3.2/coreseek-3.2.13-win32.zip解压coreseek-3.2.13-win32.zip到coreseek-3.2.13-win32目录,重命名为sphinx,任意存放。
二、coreseek中文全文检索测试直接运行coreseek-3.2.13-win32目录下的test.cmd文件,如果没出任何问题,则一切测试正常,相关手工命令测试请访问:/products-install/install_on_windows/三、部分命令的说明使用这一切命令的输入都在“cmd命令提示符”窗口里操作,假如:把sphinx目录放在D 盘下,以下的所有例子将以这路径操作,不再说明。
1)、创建全部索引:(注:这里的索引不是数据库里的索引,是不同的概念,这只对于coreseek而言,别混淆)bin\indexer –c etc\csft_mysql.conf --all备注:其中etc\csft_mysql.conf就是刚才的配置文件相对路径;如果修改了数据库中的数据,则要重建索引,类似于刷新,因为创建索引后会自动把数据库中的数据存储到内存中,所以必须重建索引。
搭建coreseek(sphinx+mmseg3)社工库环境:Centos6.6 x64 + Nginx1.8 (或Apache2.x)版本:Coreseek-4.1功能演示:/[第一步] 先安装mmseg3安装支持库yum install -y make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel php-devel //如果后面编译时缺少,再重装一次提前安装PHP支持yum remove php php-bcmath php-cli php-common php-devel php-fpm php-gd php-imap php-ldapphp-mbstring php-mcrypt php-mysql php-odbc php-pdo php-pear php-pecl-igbinary php-xmlphp-xmlrpc //如安装先卸载rpm -Uvh /yum/el6/latest.rpmyum install -y php54w php54w-bcmath php54w-cli php54w-common php54w-devel php54w-fpmphp54w-gd php54w-mbstring php54w-mcrypt php54w-mysql php54w-odbc php54w-pdo php54w-pear php54w-pecl-igbinary php54w-xml php54w-xmlrpc php54w-opcache php54w-intl php54w-pecl-memcachecd /optwget /uploads/csft/4.0/coreseek-4.1-beta.tar.gztar zxvf coreseek-4.1-beta.tar.gzcd coreseek-4.1-beta/mmseg-3.2.14./bootstrap./configure --prefix=/usr/local/mmseg3make && make install遇到的问题:error: cannot find input file: src/Makefile.in或者遇到其他类似error错误时...解决方案:依次执行下面的命令,我运行'aclocal'时又出现了错误,解决方案请看下文描述yum -y install libtoolaclocallibtoolize --forceautomake --add-missingautoconfautoheadermake clean安装好'libtool'继续从'aclocal'开始执行上面提到的一串命令,执行完后再运行最开始的安装流程即可。
矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。