coreseek 基与Sphinx 的全文索引
假设有两张那个表,分别为articles,article_photos两张表。搜索的时候,要匹配articles.title、articles.intro、article_photos.caption这三个字段。
PHP页面
header("content-type:text/html;charset=utf8");
include './sphinxapi.php'; //包含sphinxapi类
$sphinx = new SphinxClient(); //实例化
$sphinx->SetServer('localhost', 9312);//链接
$sphinx->SetLimits(0, 1000, 1000); //默认匹配20条记录。加上这行表示匹配1000条记录。(可用于分页)
$res = $sphinx->Query("暴动", "*");//查询的字段第二参数是你配置文件里面写得规则这里是*就会匹配所有规则
echo "<pre>";
print_r($res['matches']);
coreseek.conf 内容配置如下
#源定义
#mysql类只实现连接数据库
source mysql {
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = nextmgz_archive
sql_port = 3306
sql_query_pre = SET NAMES utf8
# 命令行查询时,设置正确的字符集
sql_query_info_pre = SET NAMES utf8
}
# 继承mysql
source articles : mysql
{
#sql_query第一列id需为整数
#title、content作为字符串/文本字段,被全文索引
sql_query = SELECT art_id,title,intro FROM articles
# 从SQL读取到的值必须为整数
sql_attr_uint = art_id
# 从SQL读取到的值必须为整数,作为时间属性
# sql_attr_timestamp = date_added
# 命令行查询时,从数据库读取原始数据信息
sql_query_info = SELECT * FROM articles WHERE art_id=$id
}
#index定义
index articles
{
# 对应的source名称
source = articles
#请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/
path = E:/__Work/coreseek-4.1-win32/var/data/articles
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 = E:/__Work/coreseek-4.1-win32/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
}
source article_photos : mysql
{
sql_query = SELECT art_id,caption FROM article_photos
sql_attr_uint = art_id
sql_query_info = SELECT * FROM article_photos WHERE art_id=$id
}
index article_photos
{
source = article_photos
path = E:/__Work/coreseek-4.1-win32/var/data/article_photos
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
charset_dictpath = E:/__Work/coreseek-4.1-win32/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/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 = E:/__Work/coreseek-4.1-win32/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = E:/__Work/coreseek-4.1-win32/var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = E:/__Work/coreseek-4.1-win32/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
binlog_path = #关闭binlog日志
}
建立索引。启动服务
# 建立所有索引(或者执行下面两条)
E:/__Work/coreseek-4.1-win32/bin/indexer -c E:/__Work/coreseek-4.1-win32/bin/coreseek.conf --all --rotate
# 建立指定索引
E:/__Work/coreseek-4.1-win32/bin/indexer -c E:/__Work/coreseek-4.1-win32/bin/coreseek.conf articles
E:/__Work/coreseek-4.1-win32/bin/indexer -c E:/__Work/coreseek-4.1-win32/bin/coreseek.conf article_photos
# sphinx啟動
E:/__Work/coreseek-4.1-win32/bin/searchd -c E:/__Work/coreseek-4.1-win32/bin/coreseek.conf
coreseek 基与Sphinx 的全文索引的更多相关文章
- Sphinx 与全文索引
全文索引创建过程 第一步:将源文档传给分词组件(Tokenizer) 分词组件做了以下事情: 将文档分成一个一个的单词 去除标点符号 去除停词:英文(the / a / this / that ... ...
- sphinx + mysql 全文索引配置
参考地址 http://v9.help.phpcms.cn/html/2010/search_0919/35.html http://blog.sina.com.cn/s/blog_705e4fdc0 ...
- Sphinx(coreseek) 安装使用以及词库的扩展
1.Sphinx(coreseek) 是啥 一般而言,Sphinx是一个独立的全文搜索引擎:而Coreseek是一个支持中文的全文搜索引擎,意图为其他应用提供高速.低空间占用.高结果相关度的中文全文搜 ...
- sphinx(coreseek)——1、增量索引
首先介绍一下 CoreSeek/Sphinx的发布包 indexer: 用于创建全文索引; search: 一个简单的命令行(CLI) 的测试程序,用于测试全文索引; search ...
- 安装sphinx和coreseek
sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.Sphinx可以非常容易的与SQL数 ...
- sphinx,coreseek安装
sphinx是国外的一款搜索软件. coreseek是在sphinx的基础上,增加了中文分词功能,换句话说,就是支持了中文. Coreseek发布了3.2.14版本和4.1版本,其中的3.2.14版本 ...
- centos+php+coreseek+sphinx+mysql之二sphinx配置篇
先进入文件夹进行以下操作 cd /usr/local/coreseek/etc cp sphinx.conf.dist sphinx.conf source src1 { sql_host = 127 ...
- Coreseek/sphinx全文检索的了解
Coreseek/sphinx全文检索的了解 概述: 全文检索是一种将文件里全部文本与检索项匹配的文字资料检索方法,全文检索是将存储于数据库中整本书.整篇文章中的随意内容信息查找出来的检索.它能够依据 ...
- Centos下Sphinx中文分词编译安装测试---CoreSeek
要支持中文分词,还需要下载Coreseek,可以去官方搜索下载,这里我用的4.1 百度云下载地址: https://pan.baidu.com/s/1slNIyHf tar -zxvf co ...
随机推荐
- 常用的css解决方案
一. css 2.x code 1. 文字换行 /*强制不换行*/ white-space:nowrap; /*自动换行*/ word-wrap: break-word; word-break: n ...
- GenericServlet简介和使用
GenericServlet:抽象类 是Servlet接口的抽象类,为Servlet接口中的一些方法做了空实现,只将service()方法作为抽象方法 Servlet代码实现GenericServle ...
- 纯css写带小三角对话框
在实际样式中经常会遇到要写类似对话框的样式,而这种样式往往会有一个小三角,如下所示: 那么如何用css写出来呢,其实很简单,先让父元素相对定位,然后运用css的伪类before或after.就可以写个 ...
- java String,StringBuilder和StringBuffer类的区别
对String而言: String是只读字符串,所引用的字符串不能被改变,一经定义,无法再增删改. String 定义的字符串保存在常量池里面,进行+操作时不能直接在原有基础上拼接. 每次+操作 : ...
- 如何使用webpack 打包图片
最近在学习vue,需要用到webpack打包css,在webpack中文网https://www.webpackjs.com/里只有css的打包配置, 在编写css样式时,因为要引入 背景图片,打包时 ...
- php相关操作
array_unshift : 数组头部追加 用法如下: $arr = ['demo','dmoa']; array_unshift($arr,'demob'); //在$arr的前面追加demob ...
- [JZOJ3348] 【NOI2013模拟】秘密任务
题目 题目大意 给你一个无向图,你要割掉一些边使得\(1\)到\(n\)的所有最短路径被阻截. 割掉一个边\((u,v)\)的代价为\(a_u\)或\(a_v\)(记为两种不同的方案). 问最小代价及 ...
- 网络攻击之代理IP
1.通过代理IP的好处: (1)隐藏自己真实上网地址 (2)突破宽带商访问限制
- Windows where
WHERE [/R dir] [/Q] [/F] [/T] pattern... 描述: 显示符合搜索模式的文件位置.在默认情况下,搜索是在当前目录和 PATH 环境变量指定的路径中执行的 ...
- System.Web.Mvc.JavaScriptResult.cs
ylbtech-System.Web.Mvc.JavaScriptResult.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, P ...