![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Search technology
贾诩是也
走过很多弯路,一直坚强、执着的眺望着远方、、、一个听着小米布斯故事成长起来的老码农。不忘初心,方得始终、、、给自己鼓劲加油,为这个时代华丽的时代喝彩!
展开
-
搜索引擎的未来
最近msn推出了 http://beta.search.msn.com搜索引擎试用后发现和google的还是区别很大的,最突出的区别是搜索结果相关性很高,不像google搜索的东西太多,需要看很久才能找到自己想要的东西。以前总用google的highlight 来高亮显示自己查询的关键字,特别是看代码的时候非常费劲。现在用msn的 highlightviewer更方转载 2017-07-06 17:30:52 · 334 阅读 · 0 评论 -
ElasticSearch入门 第一篇:Windows下安装ElasticSearch
ES是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index)有点类似,都是基于分词和分段的全文搜索引擎,具有分词,同义词,词干查询的功能,但是ES天生具有分布式和实时的属性,本随笔演示在Windows环境中安装ElasticSearch,以及用于管理ElasticSearch的Head插件。ElasticSearch官网:http://ww原创 2017-10-31 16:27:58 · 404 阅读 · 0 评论 -
ElasticSearch入门 第三篇:索引
ElasticSearch是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量,配置刷新频率,分配分析器等,存储在索引中的海量文档分布式存储在ElasticSearch集群中。ElasticSearch是基于Lucene框架的全文搜索引擎,将所有文档的信息写入到倒排索引(I转载 2017-10-31 16:34:31 · 538 阅读 · 0 评论 -
ElasticSearch入门 第四篇:使用C#添加和更新文档
在ElasticSearch引擎中进行全文搜索是一件非常酷炫的事,而创建索引是最重要的事,必须要精心设计,建议使用head插件创建索引的映射(Mapping),而对索引文档数据的日常更新,可以使用C#客户端程序,按照计划自动进行数据的同步和更新。对于一个数据库开发,很久没有写过C#代码,dot net菜鸟一个,本文简单分享了使用ElasticSearch的.net客户端驱动程序向索引中添加文档转载 2017-10-31 16:35:27 · 789 阅读 · 0 评论 -
ElasticSearch入门 第五篇:使用C#查询文档
使用C#代码实现对ElastiSearch的编程查询,是十分方便的,通常情况下,开发者采用官方提供的NEST客户端程序,通过封装的方法向ElasticSearch引擎发送查询请求,搜索数据,最终获取返回的查询结果,实现预定的业务需求。在内部,NEST客户端通过格式化的数据结构,把C#代码转换成HTTP 请求(Request),减轻了用户直接编写Qeury DSL的麻烦。当然,用户也可以直接把Que转载 2017-10-31 16:36:16 · 835 阅读 · 0 评论 -
ElasticSearch入门 第七篇:分析器
在全文搜索(Fulltext Search)中,词(Term)是一个搜索单元,表示文本中的一个词,标记(Token)表示在文本字段中出现的词,由词的文本、在原始文本中的开始和结束偏移量、以及数据类型等组成。ElasticSearch 把文档数据写到倒排索引(Inverted Index)的结构中,倒排索引建立词(Term)和文档之间的映射,索引中的数据是面向词,而不是面向文档的。分析器(Analy翻译 2017-10-31 16:38:06 · 405 阅读 · 0 评论 -
ElasticSearch入门 第八篇:存储
在ElasticSearch 2.4版本中,文档存储的介质分为内存和硬盘:内存速度快,但是容量有限;硬盘速度较慢,但是容量很大。同时,ElasticSearch进程自身的运行也需要内存空间,必须保证ElasticSearch进程有充足的运行时内存。为了使ElasticSearch引擎达到最佳性能,必须合理分配有限的内存和硬盘资源。一,倒排索引(Inverted Index)ElasticS转载 2017-10-31 16:38:56 · 894 阅读 · 0 评论 -
ElasticSearch入门 第九篇:实现正则表达式查询的思路
ElasticSearch 2.4版本支持Java正则表达式查询,但是,在对大段的文本(Text Block)进行挖掘之前,必须了解正则表达式查询的特殊之处。由于分析器会对文本字段进行分词,移除停用词,小写转换等操作,最终存储在倒转索引中的是小写的标记流(Token Stream),默认情况下,每一个标记是一个分词(Term),这无法满足正则表达式查询的一般要求,这就是说,正则表达式查询的是原始文翻译 2017-10-31 16:39:36 · 994 阅读 · 0 评论 -
ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套
在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是:数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文转载 2017-10-31 16:37:23 · 9223 阅读 · 2 评论 -
ElasticSearch入门 第二篇:集群配置
ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.yml,其中,elasticsearch.yml 是全局配置文件,用于在服务器级别对ElasticSearch进行配置。ElasticSearch的配置选项分为静态设置和动态设置两种,静态设置必须在结点级别(node-level)设置,或配置在elasticsearch.转载 2017-10-31 16:33:33 · 3613 阅读 · 0 评论 -
从 http://www.batteries.com 搜索引擎优化效果谈起
Batteries.com网站优化的经验和教训 是胡菜菜 胡宝介 最新的一篇文章,估计是这是他们的一个外国客户。国内做搜索引擎优化的公司能得到国际客户订单不容易。先祝贺他们。Zunch 已经进入中国了,ses 最近也大力作宣传,希望这个行业能进入良性发展。 为了学习他们的优化案例,我对 batteries.com 的优化结果作了一些分析,数据如下:1、首先是总体的P转载 2017-07-06 17:40:42 · 588 阅读 · 0 评论 -
Solr分布式索引SolrCloud原理总结
概要Solr从4.0开始支持solrcloud模式,主要特性有:配置文件集中式存储,集群中的配置文件存储在zookeeper中,仅保存一份,而过去是每个core一份配置文件,非常容易导致不一致负载均衡和故障恢复,自动将流量分配到各台机器上,不再需要nginx或haproxy的支持,自动剔除故障机器在solr4-10.2源码和官方wiki中多次出现collection、shard翻译 2016-10-30 11:03:13 · 3188 阅读 · 0 评论 -
搜索引擎的未来
最近msn推出了 http://beta.search.msn.com搜索引擎试用后发现和google的还是区别很大的,最突出的区别是搜索结果相关性很高,不像google搜索的东西太多,需要看很久才能找到自己想要的东西。以前总用google的highlight 来高亮显示自己查询的关键字,特别是看代码的时候非常费劲。现在用msn的 highlightviewer更方转载 2017-07-08 13:41:45 · 291 阅读 · 0 评论 -
Nutch介绍、体验
1. Nutch介绍Nutch是一个开源的网络爬虫项目,更具体些是一个爬虫软件,可以直接用于抓取网页内容。现在Nutch分为两个版本,1.x和2.x。1.x最新版本为1.7,2.x最新版本为2.2.1。两个版本的主要区别在于底层的存储不同。1.x版本是基于Hadoop架构的,底层存储使用的是HDFS,而2.x通过使用Apache Gora,使得Nutch可以访问HBase、原创 2017-07-06 18:22:43 · 391 阅读 · 0 评论 -
计算所汉语词法分析系统ICTCLAS 字典格式解析
这段时间小叮咚分词模块基本上没有什么大更新了,不是不想更新,而是感觉好像碰到了天花板,不知道该如何进一步拓展分词的功能了。当然分词不是目的,只是为了让小叮咚理解自然语言的一步必须的中间环节。我对小叮咚的定位是一个智能知识问答系统。这样让小叮咚理解用户输入的内容是最基础也最关键的一步。我们学习一门语言,首先要了解句子的构成,句子的成份,主、谓、宾、定、状、补等等。让机器理解人的语言,也应该采取大致的转载 2017-07-06 17:32:49 · 714 阅读 · 0 评论 -
不同规则的中文分词对Lucene索引的影响
在中文全文索引中为了建立反向索引需要对文档中的句子进行切分,相关理论请参见车东的介绍。在lucene 1.3以后的版本中支持中文建立索引了,他默认的切分规则是按一个个汉字分的。例子见后。这里主要对比以下3种中文切分对lucene索引的影响。 第一种:默认的单字切分;第二种:二元切分(见车东的文章);第三种:按照词义切分(使用小叮咚的逆向最大切分法)。上面3种切分的效果如下:转载 2017-07-06 17:33:43 · 493 阅读 · 0 评论 -
一种面向搜索引擎的中文切分词方法
首先说一下搜索引擎切分词的产生的原因。 在进行全文检索时,首先将要检索的内容分割成较短的文字序列。然后生成在每个文字序列中所包含字符串的对应表(索引)。当输入检索语句后,也同样进行分割,与索引进行比较。也就是说,两者即使包含有同样的文字排列,但分割方法不同的话也不能正确检索。 文字的分割方法主要有两种,分别是 词语解析索引 和 文字索引 。 词语解析索引是按照字典转载 2017-07-06 17:34:43 · 504 阅读 · 0 评论 -
google 和 unixlite 的设计理念
google的使命是“整合全球信息”,这也决定了在设计google基础软件架构的哲学。1、不使用大型关系数据库系统 oracle 或者 sqlserver 存储数据。2、不使用java技术构建基础架构,虽然java是被设计为面向分布式大型系统的。3、不购买昂贵的高性能服务器;4、不购买超级计算机,并且不计划用备用系统(非数据备份冗余); 大家现在都知道google转载 2017-07-06 17:36:14 · 226 阅读 · 0 评论 -
通用搜索引擎的垂直化倾向
为了给我的程序加一个管理界面,我在google搜索框中输入 SWT ,后,出现了下图的显示结果页。很显然这项服务超出了google onebox 提供的功能。搜索引擎在猜测我输入swt 的含义,google开始智能化了。 而这正回应了前两天Google公司的首席执行官埃里克·施密特说的Google搜索引擎将融入人工智能的发言。 如果你是一个goog转载 2017-07-06 17:37:36 · 297 阅读 · 0 评论 -
基于相关关键字搜索引擎优化的网站排名分析项目
先转载一段新闻: “我在战略上是藐视.COM域名的,明年中国.CN域名注册量将超过.COM”,8月29日,中国互联网络信息中心(CNNIC)主任毛伟对外表示。 CNNIC一直在大力推广中国国家域名“.CN”,不过目前.COM域名的注册量还是第一,据7月19日发布的《第十八次中国互联网络调查报告》显示,中国的域名数为120万,而.COM域名为144万。毛伟表示,.COM域名数多是历史转载 2017-07-06 17:38:33 · 471 阅读 · 0 评论 -
实现文本自动分类的基础-Term频率计算方法
据说如今互联网上的文档每天以100万的数量增长,这么大的增长量使得Google可能需要1个月甚至更长的时间才能光顾你的网站一次。所以如果你今天对你的网页做了优化,那么1个月后在看Google的反应吧。这真是信息爆炸的年代。互联网刚诞生的时候,通过目录导航机制,我们就能找到所需要的信息,Yahoo抓住这个机会成功了;后来随着互联网的普及,信息爆炸的速度让目录导航失去了效应,Google抓住了这个机会转载 2017-07-06 17:39:22 · 302 阅读 · 0 评论 -
协同推荐系统简介
最近几年搜索引擎理念可谓渗入人心,对于互联网产品设计人员来说,张口必言搜索。同事基于搜索技术的各种产品也在Web2.0的浪潮下如雨后春笋,刷刷往 外冒。在这些林林总总的产品里面,几乎都能见到“ tag , 相关新闻, 相似产品 ” 类推荐链接的踪影。稍加留意这些产品的实现就可以发现,大多还是基于关键词的搜索机制实现的。很显然基于关键词技术的相关推荐是最直观的,似乎也是最有效 的一种实现方式,如同机转载 2017-07-06 17:43:07 · 363 阅读 · 0 评论 -
不选择使用Lucene的6大原因?
Lucene是开放源代码的全文搜索引擎工具包,凭借着其强劲的搜索功能和简单易用的实现,在国内已经很普及,甚至一度出现了言搜索必称Lucene的盛景。上个月Lucene的开发团队发布了Java Lucene 2.3.1 ,相信很多朋友们都用上了。在国内对Lucene的介绍可以分为3块儿:第一类是:以车东 的Lucene:基于Java的全文检索引擎简介 为代表的基础入门介绍;第二类是L转载 2017-07-06 17:44:05 · 5050 阅读 · 0 评论 -
中文分词和二元分词综合对比
为了测试中文分词和二元分词的差异,现将初步的测试数据做了对比。关于二元分词可以参考车东先生的相关文章。 采用中文分词每1M产生1.55M的索引文件,膨胀率1.55;每1M用时大约10秒;采用二元分词每1M产生2.21M的索引文件,膨胀率2.21;每1M用时大约7秒;从搜索结果来看,两者可以大致相同数量的搜索结果(显示结果根据相关度排列顺序不同)。转载 2017-07-06 17:45:32 · 1272 阅读 · 0 评论 -
我对垂直搜索引擎的几点认识
据说垂直搜索现在很热,那么什么是垂直搜索呢,下面是我的几点认识,欢迎大家讨论。1、垂直搜索引擎不是什么?垂直搜索不只是类google的行业通用搜索。以房产行业为例,如果我们按照google抓取网页的方式,来建造一个房产行业google的做法,是行不通的。技术壁垒不用解释,就算我们借助nutch,lucene等搜索技术来做,我们也无法提供差异化的服务,而没有差异化的产品在互联网赢家通吃的转载 2017-07-06 17:46:27 · 604 阅读 · 0 评论 -
分布式全文检索系统SolrCloud简介
前言本文简单描述SolrCloud的特性,基本结构和入门,基于Solr4.5版本。 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库。Solr是以Lucene为基础实现的文本检索应用服务。 SolrCloud是Solr4.0版本开发出的具有开创意义的基于Solr和Zookeeper的分布式搜索方案,或者可以说,SolrCloud是Solr的一种部署方式。Solr可以以翻译 2016-10-30 11:11:29 · 610 阅读 · 0 评论