搜索引擎的区别(搜索引擎是什么?专业搜索引擎和综合搜索引擎的区别)

前沿拓展:

搜索引擎的区别

区别一:搜索主体不同

首先是搜索面向的主体不同,一个基于“文本信息”的搜索,一个则是基于“商品”的搜索

区别二:时效性不同

以文本为主的搜索结果,不同时段下的结果更新较慢且相对固定,因为用户在搜索某一问题时所想要的答案也是相对固定的。

以商品为主的搜索结果,要考虑当前季节、特定时期的流行度、搜索用户的消费水平及购买习惯等因素,这些因素都会随着时间的推移,而发生或多或少的变化,所以搜索结果更新是比较频繁的。

区别三:检索维度不同

搜索引擎在检索时,主要考虑关键词与文本标题的匹配,当前页面的关键词密度,以及当前文本页面的外链数量等因素来计算排名权重。

而搜索由于是基于商品的搜索,要考虑两方面因素,一是宝贝本身的情况,例如宝贝款式、价格、评分、好评率等等,而是时间季节、宝贝销量、人气指数、消费水平等因素,所以搜索所考核的因素与维度相对较多。


搜索引擎是什么?

这里有个概念需要提一下。信息检索 (Information Retrieval 简称 IR) 和 搜索 (Search) 是有区别的,信息检索是一门学科,研究信息的获取、表示、存储、组织和访问,而搜索只是信息检索的一个分支,其他的如问答系统、信息抽取、信息过滤也可以是信息检索。

本文要讲的搜索引擎,是通常意义上的全文搜索引擎、垂直搜索引擎的普遍原理,比如 Google、Baidu,天猫搜索商品、口碑搜索美食、飞猪搜索酒店等。

Lucene 是非常出名且高效的全文检索工具包,ES 和 Solr 底层都是使用的 Lucene,本文的大部分原理和算法都会以 Lucene 来举例介绍。

为什么需要搜索引擎?

看一个实际的例子:如何从一个亿级数据的商品表里,寻找名字含“秋裤”的 商品。

使用SQL Like

select * from item where name like '%秋裤%'

如上,大家第一能想到的实现是用 like,但这无法使用上索引,会在大量数据集上做一次遍历操作,查询会非常的慢。有没有更简单的方法呢,可能会说能不能加个秋裤的分类或者标签,很好,那如果新增一个商品品类怎么办呢?要加无数个分类和标签吗?如何能更简单高效的处理全文检索呢?

使用搜索引擎搜索引擎入门(1)——解释是什么,为什么?

答案是搜索,会事先 build 一个倒排索引,通过词法语法分析、分词、构建词典、构建倒排表、压缩优化等操作构建一个索引,查询时通过词典能快速拿到结果。这既能解决全文检索的问题,又能解决了SQL查询速度慢的问题。

分享自:https://my.oschina.net/yunqi/blog/3049807

拓展知识: