搜索引擎
ygmdream
为人处世!
展开
-
基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
来自:http://blog.zyan.cc/post/360/前言:本文阐述的是一款经过生产环境检验的千万级数据全文检索(搜索引擎)架构。本文只列出前几章的内容节选,不提供全文内容。 在DELL PowerEdge 6850服务器(四颗64 位Inter Xeon MP 7110N处理器 / 8GB内存)、RedHat AS4 Linux操作系统、MySQL 5.1.26、MyIS转载 2016-03-08 20:37:28 · 3728 阅读 · 0 评论 -
sphinx 源码阅读之数据结构与算法
源码在 sphinx 官网上就可以下载到.起初我下载的是最新版本,结果由于代码大约有 10W 行,我看了快 1W 行后发现这样看也不是个办法。于是我想着生成一个项目关系图来阅读代码,但是我这电脑只有windows, 网上介绍的大多都是 linux 上的,于是我只好取消这个念头。后来,我想我看sphinx源码主要是先弄明白 sphinx 的工作原理,而工作原理应该一直都是保持不变的,转载 2016-06-26 16:55:53 · 912 阅读 · 0 评论 -
Sphinx 安装记录
前言如果你想支持中文全文检索的话,请参考 coreseek 安装记录。如果你已经安装 sphinx 或者 coreseek, 只是想查找怎么配置和使用 sphinx 和 coreseek 的话,请参考 coreeek 和 sphinx 的配置与使用下面的表纯属文章虚构,由于配置内容较多,部分省略,具体可以参考官方文档。想吐槽一句:编译安装真浪费时间, configure &转载 2016-06-26 16:59:26 · 5260 阅读 · 0 评论 -
coreseek 安装记录
前言前几天我写了 sphinx 的安装记录, 今天再来记录一下 coreseek 的安装记录。如果你只想使用简单的全文检索的话,请参考 Sphinx 安装记录。如果你已经安装 sphinx 或者 coreseek, 只是想查找怎么配置和使用 sphinx 和 coreseek 的话,请参考 coreeek 和 sphinx 的配置与使用.关于 coreseek在转载 2016-06-26 17:00:09 · 1002 阅读 · 0 评论 -
coreeek 和 sphinx 的配置与使用
前言关于 sphinx 的安装请参考 Sphinx 安装记录.关于 coreeek 的安装请参考 coreseek 安装记录.sphinx 和 coreeek 安装好后,是可以搜索出满意的结果了,凡是有一个问题:对于新增的数据,我们需要在 sphinx 中重建索引。又由于旧的数据量是很大的,所以重建索引是很费时间的,所有如果数据不需要实时同步,那么每天晚上定时重建一下就行了转载 2016-06-26 16:58:07 · 635 阅读 · 0 评论 -
sphinx 源码阅读之json, hash table配置分析器
前言读了 sphinx 的读取配置文件的代码, 心中有一个疑问: sphinx 为什么要自己造轮子呢?难道现在 sphinx 一直没人升级维护也是这个历史包袱的原因吗?不管哪么多了,先来看看 sphinx 怎么分析配置文件以及储存配置文件的吧。配置文件规则下面是一个简单的还有增量索引的 sphinx 配置文件。其中 inc_source 继承 base_source 源。转载 2016-06-26 17:04:18 · 707 阅读 · 0 评论 -
实时的分布式sphinx索引配置及使用方法总结
实时的分布式sphinx索引配置及使用方法总结coreseek文档:http://sphinxsearch.com/wiki/doku.php?id=sphinx_manual_chinese#需要的工具需要更改/usr/local/coreseek/var/data 下的目录权限安装开始: cd /data/softwore wget http://www.coreseek.cn/转载 2016-06-27 10:26:16 · 4315 阅读 · 0 评论 -
coreseek 分布式索引 与 单索引
单索引 配置文件(分表)12345678910111213141516171819202122232425262728293031323334353637383940414243444546转载 2016-06-27 10:37:22 · 635 阅读 · 0 评论 -
coreseek(sphinx)的简单应用以及在LAMP中的注意事项
http://blog.csdn.net/baidu_30000217/article/details/51804366转载 2016-07-06 10:05:24 · 466 阅读 · 0 评论 -
《Sphinx权威指南》 - Sphinx入门
http://blog.lxjwlt.com/front-end/2015/08/01/start-sphinx.html?utm_source=tuicool&utm_medium=referral最近社区搜索功能要进行优化,由于需求点比较多,功能要求比较“夸张”,我们弃用了Discuz本身那套搜索逻辑代码,自行引入Sphinx搜索引擎进行重新开发(Discuz本身带有Sph转载 2016-12-11 19:19:34 · 2229 阅读 · 0 评论 -
Sphinx实时索引,用增量索引实现索引更新
我们前面知道,用./indexer --all 可以生成所有索引。当我们的数据很大,表的数据每天会逐渐添加,我们不可能再去重新生成下所有索引,这样性能方面会很差,那么,如何实现实时更新索引数据,又不影响性能呢,这时候“主索引+增量索引”的结合就能起到很好的效果,下面来讲解下如何使用。1、创建一张表,用于存放主数据源的数据最大id。mysql>转载 2016-12-03 22:16:18 · 3725 阅读 · 0 评论 -
sphinx配置文件详解
sphinx的配置:其结构组成主要如下:Source 源名称1{ //指定数据源一些配置}Index 索引名称1{Source=源名称1}Source 源名称2{一些配置}Index 索引名称2{Source=源名称2}Indexer{mem_limit = 32M}Searchd{转载 2016-12-03 22:25:05 · 4031 阅读 · 3 评论 -
Sphinx 之 Coreseek、Sphinx-for-chinaese、Sphinx+Scws 评测
http://www.wubiao.info/292Sphinx是一个基于SQL的全文检索引擎;普遍使用于很多网站;但由于中英文的差异,其本身,对中文的支持并不好。主要体现在对一段话断词;英文只需按照空格对其分词即可;但对于博大精深的中文来说,却是件困难的事情。分词在两个地方会用到;1、索引时,根据分词索引原始数据2、搜索时,对用户输入分词,到索引中查询本文提供了三种目转载 2016-12-03 22:23:52 · 2455 阅读 · 0 评论 -
sphinx架构设计 -- 高并发rt实时索引
CleverCode最近在研究sphinx使用rt实时索引,总结了一下PHP调用的过程,并且总结了一下rt分布式架构设计。1 安装Sphinx 安装详解请查看:http://blog.csdn.NET/clevercode/article/details/52204124。2 配置rt索引文件vim /usr/local/sphinx2/etc/realtime.con转载 2017-01-23 14:29:39 · 1450 阅读 · 0 评论 -
sphinx 源码阅读之 分词,压缩索引,倒排
前言sphinx 在创建索引前需要做下面几件事:有数据源(pSource),有分词器(pTokenizer),有停止词Stopword 和 字典(pDict),索引引擎。我们假设 数据源是 mysql, 分词器是 utf8 分词器。索引前背景介绍第一步是准备数据源。这里采用 mysql 数据源。mysql 数据的特点是一行一个记录。每个记录有相同的字段。每个字段可能转载 2016-06-26 15:18:02 · 671 阅读 · 0 评论 -
Coreseek算法分析
Coreseek算法分析本文对coreseek代码中涉及到的一部分算法进行说明,以便在阅读代码的时候,能更容易理解相关的代码。本文所整理的只是其中的部分算法,后面将在逐渐深入理解的基础上,进一步添加。一.Soundex 算法1. 算法原理Soundex是一种语音算法,利用英文字的读音计算近似值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出转载 2016-06-26 14:07:38 · 860 阅读 · 0 评论 -
sphinx分布式配置
参考:http://blog.csdn.net/e421083458/article/details/23621159单机配置请参考搭建coreseek(sphinx+mmseg3)详细安装配置+php之sphinx扩展安装+php调用示例 分布式配置很简单,只需要将局域网内的机器连接即可。vi /usr/local/coreseek/etc/csft.conf转载 2016-03-08 20:32:39 · 740 阅读 · 0 评论 -
开源搜索引擎评估-lucene sphinx elasticsearch
开源搜索引擎程序有3大类lucene系,java开发,包括solr和elasticsearchsphinx,c++开发,简单高性能Xapian,c++开发搜索引擎程序这个名称不妥当,严格说来应该叫做索引程序(indexing program),早期主要用来做中文全文搜索,但是随着互联网的深入普及,各家网站规模越来越大,索引程序在优化网站架构上发挥了更大的作用:替代mysql数据库内置的转载 2016-03-25 11:37:02 · 864 阅读 · 0 评论 -
Sphinx+Mysql+中文分词安装-实现中文全文搜索
参考:http://blog.csdn.net/lgm252008/article/details/53734361、什么是SphinxSphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系我们(Sphinxsearch.com)以获得商业授权。一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间占用、高结转载 2016-03-25 11:50:14 · 1361 阅读 · 0 评论 -
中文分词开源软件
链接:http://www.oschina.net/project/tag/264/segment 开源中国社区1、IKAnalyzerIKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词转载 2016-04-12 19:19:35 · 1445 阅读 · 0 评论 -
Lucene 工作原理
Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下: 0)设有两篇文章1和2 文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too. 文章2的内容为:He once lived in Shanghai. 1)由于lucene是基于关键词索引和查询的,转载 2016-04-12 20:46:48 · 468 阅读 · 0 评论 -
Apache Lucene初探
讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等。这里就贡献一个讲解很到位的ppt。已经被我转成了PDF,便于搜藏。 其次,关于第一次编程初探,建议还是查看官方资料。百度到的资料,目前Lucene已经更新到4.9版本,这个版本需要1.7以上的JDK,所以如果还用1.6甚至是1.5的小盆友,请参考低转载 2016-04-13 10:30:28 · 453 阅读 · 0 评论 -
倒排索引
倒排索引简单地就是:根据单词,返回它在哪个文件中出现过,而且频率是多少的结果。这就像百度里的搜索,你输入一个关键字,那么百度引擎就迅速的在它的服务器里找到有该关键字的文件,并根据频率和其他一些策略(如页面点击投票率)等来给你返回结果。这个过程中,倒排索引就起到很关键的作用。文档是有许多的单词组成的,其中每个单词也可以在同一个文档中重复出现很多次,当然,同一个单词也可以出现在不同的文档中原创 2016-04-18 12:57:05 · 991 阅读 · 0 评论 -
PHP+MongoDB+Coreseek/Sphinx(xmlpipe2数据源)打造千万级搜索引擎
近几年来,Linux+Nginx+PHP+MongoDB(LNPM)的组合越来越火,甚至有取代Linux+Nginx/Apache+PHP+Mysql组合的趋势。原因是MongoDB强大,灵活,易扩展,更关键的易用。MongoDB不用事先设计好表结构,往里面插入什么都可以,而且管理方便。因此成为创业团队的首选数据库,更是移动互联网的一枝新秀。然而MongoDB和关系型数据库也有很多相似之处转载 2016-05-10 15:30:06 · 1004 阅读 · 0 评论 -
品牌词/产品词/通用词/人群词和竞品词是什么意思
品牌词/产品词/通用词/人群词和竞品词是在做百度推广时经常被提及的几个名词,区分清楚这个几个词的意思,可以帮助到我们挑选好关键词,按照关键词类别分别建立推广计划和单元。下面给大家简单介绍下: 品牌词:公司的品牌名称(如联想,华为),做推广的时间选用这类关键词,针对的是企业的老客户或者对你品牌有一定了解的客户,一般而言小企业可以少用品牌词做推广,如果企业的品牌词没有申请商标专利,那最好先申请转载 2016-04-28 16:09:57 · 18770 阅读 · 0 评论 -
搜索引擎技术揭密:中文分词技术
http://www.williamlong.info/archives/333.html信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、中国搜索等大型搜索引擎一直是人们讨论的话题。随着搜索市场价值的不断增加,越来越多的公司开发出自己的搜索引擎,阿里巴巴的商机搜索、8848的购物搜索等也陆续面世,自然,搜索引擎技术也成为技术人员关注的热点。 搜索引擎技术的研究,转载 2016-03-25 11:22:31 · 2413 阅读 · 0 评论 -
c++开源爬虫-Larbin简介
因为最近学校实训,做的是一个搜索相关的项目,并且是c++的一个项目,所以就想到了larbin,于是接下来几天就现研究研究其源码,再根据项目需求修改其源码。不多说,直接进入今天的正题。今天的目的就是简单了解下larbin。Larbin简介larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人Sébastien Ailleret独立开发,用c++语言实现。larbin目的是转载 2016-05-06 18:31:06 · 733 阅读 · 0 评论 -
Coreseek:中英文混合分词
coreseek是针对中文搜索引擎在sphinx搜索引擎上添加了中文分词功能中文分词使用的是Chih-Hao Tsai的MMSEG算法提供了分词字典,同义词及特殊词的扩展该文主要针对分词字典的扩展,默认数据中只针对中文词语进行分词,但一些行业用词需要涉及到中英混词的分词效果,针对该特性则需要修改源码来实现开启英文字符查找源码修改:针对mmseg-3.2.14版本Src/css/se转载 2016-06-25 17:12:28 · 3884 阅读 · 0 评论 -
Sphinx源码分析——Indexer
Sphinx作为一款优秀的全文检索开源软件确实是很不错,最近工作需要,要求在其上进行二次开发,第一次接触这样一款开源软件,兴奋和紧张心情难免,作为一个刚毕业的应届生,看了一周的源代码,现在奉上一篇博文来对其Indexer部分代码进行分析,共各位及自己做一个参考,其中只代表个人的一些粗浅看法,如果不对,请各位大神一定要指正,这样才能提高,谢谢! Indexer作为Sphinx的重要组成部分之转载 2016-06-26 11:25:10 · 2425 阅读 · 0 评论 -
CoreSeek(全文检索引擎 Sphinx 中文版)安装使用指南(CentOS6.5)
Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景,用户可以免费下载使用。coreseek安装需要预装的软件:yum install make gcc g++ gcc-c++ libtool autoconf auto转载 2017-08-31 21:06:39 · 478 阅读 · 0 评论