前言
什么是搜索引擎
- 搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。
- 分类:
- 全文索引搜索引擎
- 采集ip段内的网页数据,扫描网页内容的每一个词,对其创建索引,指明词频、位置,存入数据库,当用户以关键词查找信息时,搜索引擎会在数据库中,根据关键词的匹配程度、出现的位置、频次等算法,匹配结果一般按照关联度降序返回
- 比如百度、必应、谷歌、搜狗等
- 目录索引搜索引擎
- 对网站进行人工分类,所以目录索引也被称为分类检索;
- 在爬取数据时,将网页根据一定的目录进行分门别类,类似图书馆一样分为:汽车、机械、植物、历史等
- 用户检索时,可以先依据分类缩小检索范围,比如你在新浪网首页,选择了房产->二手房
- 垂直搜索
- 垂直搜索引擎适用于有明确搜索意图情况下进行检索。
- 也可以理解为单个(少量)行业专用搜索
- 例如各大电商(商品)、携程(机票、车票、住宿)等
- 全文索引搜索引擎
什么是Elasticsearch
Elasticsearch is a distributed search and analytics engine, scalable data store, and vector database built on Apache Lucene. It’s optimized for speed and relevance on production-scale workloads. Use Elasticsearch to search, index, store, and analyze data of all shapes and sizes in near real time.
Elasticsearch 是一个基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展的数据存储和矢量数据库。 它针对生产规模工作负载的速度和相关性进行了优化。 使用 Elasticsearch 近乎实时地搜索、索引、存储和分析各种形状和大小的数据。
- 应用场景
- 海量数据搜索场景。
- 日志处理和分析,例如:通过ELK搭建日志处理和分析方案。
- 地理空间数据搜索,例如:查询5km以内店铺、统计一个月内某个用户去过哪些地方(点)。