• 20150408--Sphinx+邮件激活-01


    image

    image

    一、sphinx的基本介绍

    1、使用背景

    当对大文本数据进行单词匹配查询时,如:有一个歌曲网站,数据库中

    收集着上百万首歌曲的信息,如果要查询出歌词中带“爱情”的所有歌

    ,典型的做法是执行如下SQL语句:

    SELECT * FROM songs WHERE content LIKE "%爱情%"。

    但是在MYSQL中以%开头的查询无法使用索引,所以这条SQL语句将执

    全表扫描,性能极差MyISAM引擎中的全文索引是专门对文本创建

    索引的,但对中文支持不好

    好的解决方案:使用sphinx !

    2、sphinx的原理

    第一步:对应数据源建立索引

    wps13AA.tmp

    中文分词技术,

    今天             1

    下雨             1

    明天             1,2,3

    学习             2

    第二步:执行查询,返回查询到单词所在,mysql里面记录的id

    php要把查询的单词给sphinx软件,软件拿到要查询的单词后,从索引里面进行匹配。返回该单词在mysql表里面记录的id

    php拿到单词所在的额id后,根据该id去mysql里面查找数据。

    3、什么是Coreseek

    Coreseek 是一款中文全文检索/搜索软件,基于Sphinx研发并独立发布,

    专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索

    数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景

    二、开始安装执行

    1、下载软件,解压后,拷贝到指定的目录

    wps1409.tmp

    2、建立一个sphinx的配置文件。

    wps140A.tmpwps141B.tmpwps1479.tmp

    拷贝一份csft_mysql.conf文件到上一级目录,并改名为shpinx.conf

    wps14C8.tmp

    3、建立索引

    配置数据源   配置索引  配置服务器端的信息。

    (1)配置数据源,

    语法:source   数据源的名字

    在一个配置文件中,可以配置多个数据源的。

    wps14E9.tmp

    (2)针对数据源配置索引,

    一个数据源对应一个索引的配置,

    语法:index 索引的名字

    wps1576.tmpwps1587.tmpwps15C6.tmp

    (3)配置sphinx服务器端信息。

    wps1858.tmpwps18B6.tmpwps1934.tmp

    4、根据sphinx.conf的配置,创建索引

    以管理员进入cmd 进入到sphinx/bin目录

    wps19E1.tmpwps19E2.tmpwps1A03.tmp

    语法:

    indexer  -c 配置文件    索引的名字

    wps1ACF.tmp

    建立的索引文件。

    wps1B4D.tmp

    5、安装sphinx(coreseek)启动服务,

    以管理员进入cmd进入到sphinx/bin目录,使用searchd.exe命令

    wps1BFA.tmp

    语法:searchd  -c 配置文件  --install

    wps1C49.tmp

    启动服务

    wps1C98.tmp

    默认的端口号是9312,

    wps1D16.tmp

    总结:

    (1)针对数据源建立索引,要配置的是数据源数据源对应的索引服务器端配置

      使用indexer命令完成索引的创建。

    (2)启动sphinx的服务进行查询

  • 相关阅读:
    模块与包的导入
    递归
    day04
    装饰器2_根据认证来源判断用户和计算登录时间
    装饰器1_统计时间函数装饰欢迎登录函数
    tail -f a.txt | grep 'python'
    函数
    内置函数1
    python模块整理
    VBS恶作剧代码
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471945.html
Copyright © 2020-2023  润新知