目录
2.2.1站内搜索(垂直搜索):数据量小,简单搜索,可以使用数据库。
2.2.2互联网搜索,肯定不会使用数据库搜索。数 据量太大。PB级。
1.Elasticsearch概述
概念:用户输入想要的关键词,返回含有该关键词的所有信息。
场景:
1
互联网搜索:谷歌、百度、各种新闻首页
2
站内搜索(垂直搜索):企业
OA
查询订单、人员、部门,电商网站内
部搜索商品(淘宝、京东)场景。
2.1 搜索是什么
概念:用户输入想要的关键词,返回含有该关键词的所有信息。场景:1 互联网搜索:谷歌、百度、各种新闻首页2 站内搜索(垂直搜索):企业 OA 查询订单、人员、部门,电商网站内部搜索商品(淘宝、京东)场景。
2.2 数据库做搜索弊端
2.2.1站内搜索(垂直搜索):数据量小,简单搜索,可以使用数据库。
问题出现:l 存储问题。电商网站商品上亿条时,涉及到单表数据过大必须拆分表,数据库磁盘占用过大必须分库( mycat )。l 性能问题:解决上面问题后,查询 “ 笔记本电脑 ” 等关键词时,上亿条数据的商品名字段逐行扫描,性能跟不上。l 不能分词。如搜索 “ 笔记本电脑 ” ,只能搜索完全和关键词一样的数据,那么数据量小时,搜索 “ 笔记电脑 ” , “ 电脑 ” 数据要不要给用户。
2.2.2互联网搜索,肯定不会使用数据库搜索。数 据量太大。PB级。
我们可以使用搜索引擎来解决数据库搜索的问题 :搜索也是一款数据库,搜索可以进行分词搜索 --- 搜索速度非常快
2.3 常见的搜索引擎
ElasticSearch 与 Solr 比较1. 当单纯的对已有数据进行搜索时, Solr 更快![]()
2. 当实时建立索引时, Solr 会产生 io 阻塞,查询性能较差,ElasticSearch 具有明显的优势![]()
3. 随着数据量的增加, Solr 的搜索效率会变得更低,而 ElasticSearch却没有明显的变化![]()
总结1 、 es 基本是开箱即用 ( 解压就可以用 !) 【南京】 , 非常简单。 Solr安装略微复杂一丢丢 !2 、 Solr 利用 Zookeeper 进行分布式管理 , 而Elasticsearch<mark> 自身带有分布式协调管理功能 </mark> 。