首页 SEO排名内容详情

你了解搜索引擎吗

2024-03-25 52 网站首席编辑
你了解搜索引擎吗-今日头条

什么是全文搜索引擎?

常⽤的搜索⽹站,⽐如百度,⾕歌。

数据的分类

  • 结构化数据:指具有固定格式或有限⻓度的数据,如数据库,元数据等。

对于结构化数据,我们⼀般都是可以通过关系型数据库(mysql,oracle等)的 table 的⽅式存储和搜索,也可以建⽴索引。通过b-tree等数据结构快速搜索数据。

  • ⾮结构化数据:全⽂数据,指不定⻓或⽆固定格式的数据,如邮件,word⽂档等。

对于⾮结构化数据,也即对全⽂数据的搜索主要有两种⽅法:顺序扫描法,全⽂搜索法。

顺序扫描

  • 按字⾯意思,我们可以了解它的⼤概搜索⽅式,就是按照顺序扫描的⽅式查找特定的关键字。⽐如让你在⼀篇篮球新闻中,找出"科⽐"这个名字在哪些段落出现过。那你肯定需要从头到尾把⽂章阅读⼀遍,然后标记出关键字在哪些地⽅出现过。
  • 这种⽅法毋庸置疑是最低效的,如果⽂章很⻓,有⼏万字,等你阅读完这篇新闻找到"科⽐"这个关键字,那得花多少时间。

全⽂搜索

  • 对⾮结构化数据进⾏顺序扫描很慢,我们是否可以进⾏优化?把我们的⾮结构化数据想办法弄得有⼀定结构不就⾏了吗?将⾮结构化数据中的⼀部分信息提取出来,重新组织,使其变得有⼀定结构,然后对这些有⼀定结构的数据进⾏搜索,从⽽达到搜索相对较快的⽬的。这种⽅式就构成了全⽂搜索的基本怔⽹巨头,如Netflflix,eBay,Instagram和亚⻢逊都使⽤Solr,因为它能够索引和搜索多个站点。
  • 强⼤的功能

全⽂搜索

突出

分⾯搜索

实时索引

动态群集

数据库集成

NoSQL功能和丰富的⽂档处理

Elasticsearch

  • Elasticsearch是⼀个开源,是⼀个基于Apache Lucene库构建的Restful搜索引擎.
  • Elasticsearch是在Solr之后⼏年推出的。它提供了⼀个分布式,多租户能⼒的全⽂搜索引擎,具有HTTP Web界⾯(REST)和⽆架构JSON⽂档。Elasticsearch的官⽅客户端库提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript。
  • 主要功能

分布式搜索

数据分析

分组和聚合

  • 应⽤场景

维基百科

Stack Overflflow

GitHub

电商⽹站

⽇志数据分析

商品价格监控⽹站

BI系统

站内搜索

篮球论坛

参考个人博客:cyz

相关标签: # git # Mysql # javascript