原创全文搜索引擎技术原理入门

黑夜路人 黑夜路人     2023-02-04     340

关键词:

【原创】全文搜索引擎技术原理入门

作者:黑夜路人(heiyeluren / Black)

时间:2021/11

文档:《全文搜索引擎技术原理入门》- 黑夜路人


    

        信息检索(Information Retrieval)的含义可以是非常广泛的,作为一个学术研究领域,信息检索可能如此定义:信息检索(IR)是从集合(通常存储在计算机中)中找到满足信息需求的非结构化性质(通常是文本)的材料(通常是文档),信息检索是解决信息存储和检索的一门学科。

    信息检索(IR)是基于用于查询检索信息的任务,目前流行的信息检索模型包括 布尔模型、向量空间模型、概率模型和语言模型,信息检索最典型和最常见的应用是“搜索引擎”(Search Engine)。

    搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上采集信息(主动采集或被动接收信息),在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。

    搜索引擎是工作于互联网上的一门检索技术,它指在提高人们获取搜集信息的速度,为人们提供更好的网络使用环境。从功能和原理上搜索引擎大致被分为全文搜索引擎、元搜索引擎、垂直搜索引擎和目录搜索引擎等四大类,目前一般通俗提到“搜索引擎”主要是指“全文搜索引擎”。 

    搜索引擎发展到今天,在日常工作生活中都已经离不开了,目前的搜索引擎技术在基础架构和算法在技术上都已经非常成熟,发展成为根据一定的策略(机器学习)、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后(构建高质量索引),为用户提供高质量的检索服务,将用户检索最相关或是用户最想要(通过机器学习/深度学习方式)的信息展示给用户的一套系统。

    本篇分享内容主要是介绍搜索引擎(全文搜索技术)的基本实现原理机制的一个入门,能够快速通过几十页的内容,对搜索引擎技术有一个概要的、系统性的了解,帮助我们在工作中无论是使用通用的全网搜索引擎(谷歌/百度等),还是使用站内全文搜索引擎(Lucene/ES/Solr/Sphinx等),都能够有一个对原理理念层面的了解,能够更快速的帮助我们更深入的做好技术研发。

    内容会描述搜索引擎的概要构成和主要的工作流程,从搜索引擎的 内容抓取(Spider)、分词(NLP)、索引构建(Index)、内容相关性(Document Rank)排序等几个方面进行介绍,希望能够提供系统性的学习和了解。

  • 内容抓取:爬虫程序的基本工作流程,主流爬虫介绍,爬虫Scrapy介绍

  • 内容分析:网页分析(HTML解析)、网页去重算法(Shinling/I-Match/SimHash等),中文分词技术(主要实现方法、包括基于字典-正向逆向最大匹配/最小切分/MMSeg、基于统计学、基于深度学习等方法-条件随机场CRF/隐形马尔科夫模型HMM/N-gram,主流开源哪些实现)

  • 索引系统:搜索索引系统的构建,包括正排索引、倒排索引等等(与传统数据库数据结构B+树/LSM树的区别),核心数据结构实现机制(Lucene中的实现过程)

  • 检索系统:搜索引擎检索(查询)过程(包括布尔查询、字段查询等),全文检索排序技术(布尔模型、向量空间、概率检索等相关性排序技术),包括主流的一些算法介绍 余弦相关性、BM25、TF-IDF等等。

  • 最后在推荐一部分包括ES/Lucene等在内的开源搜索引擎进行进一步学习

核心重点内容会在 分词技术(Segmention term)、倒排索引构建(Inverted index)、搜索结果相关性排序(Document rank)等几个重点全文搜索引擎技术上面进行介绍,希望您有所收获。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

希望您学习完本篇文章能够对全文搜索引擎技术有一定的了解,能有一些学习和收获,如果想加入技术群交流请扫码加微信一起交流。


 

该原创文档PDF下载:

《全文搜索引擎技术原理入门》黑夜路人

原创全文搜索引擎技术原理入门

【原创】全文搜索引擎技术原理入门作者:黑夜路人(heiyeluren/Black)时间:2021/11文档:《全文搜索引擎技术原理入门》-黑夜路人            信息检索(InformationRetrieval)的含义可以是非常广泛... 查看详情

elasticsearch搜索入门技术之一(代码片段)

...架的基本原理是什么es是什么,主要使用场景es分布式搜索引擎集群的搭建3,具体内容3.1全文检索3.1.1数据分类我们生活中的数据总体分为三种:结构化数据,非结构化数据,半结构化数据结构化数据:指... 查看详情

elasticsearch搜索入门技术之一(代码片段)

...架的基本原理是什么es是什么,主要使用场景es分布式搜索引擎集群的搭建3,具体内容3.1全文检索3.1.1数据分类我们生活中的数据总体分为三种:结构化数据,非结构化数据,半结构化数据结构化数据:指... 查看详情

八.全文检索elasticsearch经典入门-深入理解elasticsearch核心原理(代码片段)

...面试题总结的方式来展开。常见面试题为什么要选择全文搜索引擎,而不直接用like可能你会觉得问这个问题的面试官有点傻& 查看详情

[摘]全文检索引擎solr系列—–全文检索基本原理

原文链接--http://www.importnew.com/12707.html全文检索引擎Solr系列—–全文检索基本原理2014/08/18|分类:基础技术,教程|2条评论|标签:solr分享到:64本文作者:ImportNew-刘志军未经许可,禁止转载!场景:小时候我们都使用过新华字典,... 查看详情

全文搜索引擎elasticsearch入门教程(代码片段)

...开源的 Elasticsearch (以下简称Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、StackOverflow、Github都采用它。Elastic的底层是开源库 Lucene。但是,你没法直接用Lucene,必须自己... 查看详情

全文搜索引擎elasticsearch入门教程(代码片段)

...的需求,开源的Elasticsearch(以下简称Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、StackOverflow、Github都采用它。Elastic的底层是开源库Lucene。但是,你没法直接用Lucene,必须自己写代... 查看详情

elasticsearch7从入门到精通(简介部署原理开发elk)(代码片段)

...做全文索引和搜寻。提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎Elasticsearch用于云计算中,... 查看详情

全文索引的原理及定义(代码片段)

全文索引时将存储在数据库中的整本书或整篇文章中的任意内容信息查找出来的技术。它可以根据需要获取全文中有关章,节,段,句,词等信息,也可以进行各种统计和分析。之前的MySQL数据库中,INNODB存储引擎并不支持全文... 查看详情

搜素引擎全文检索原理

...介绍先建立索引,再对索引进行搜索的过程就叫全文检索搜索引擎核心:建立倒排索引二数据库和solor搜索引擎对比1搜索引擎的索引和数据库索引区别原理相通,只是索引结构不同一个是B+树,一个是倒排索引树2各自定位对比数... 查看详情

快速入门java爬虫全文搜索引擎elasticsearch,分析实战项目:仿京东搜索(代码片段)

...i,大家好,今天我给大家分析一下java爬虫和全文搜索引擎Elasticsearch,我的思路是首先分析用爬虫技术获取京东商场的数据,再将获取的数据放入Elaticsearch中,再体验一下全文搜索引擎的魅力(好比使用百... 查看详情

elasticsearch笔记|入门概念

...金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英... 查看详情

全文检索(elasticsearch入门)

...个采用java语言开发的,基于Lucene构造的开源,分布式的搜索引擎.设计用于云计算中,能够达到实时搜索,稳定可靠.Elasticsearch的数据模型是JSON. 对于需要分布式需求的这是一个非常好的选择,部署简单,同网段内会自动组成... 查看详情

lucene全文搜索原理与使用

本文中主要是对于Lucene全文搜索的基础原理进行简单的分析,以及Lucene实现全文搜索的流程,之后就是Lucene在Java中的最简单使用:创建索引,查询索引库;本文中使用的Lucene主要是4.10.3和6.0.0,两个版本的... 查看详情

【es从入门到实战】十七、全文检索-elasticsearch-进阶-aggregations聚合分析

...参考文档-search-aggregations参考:ElasticsearchReferenceelastic全文搜索引擎Elasticsearch入门教程 查看详情

elasticsearch全文检索技术一篇文章即可从入门到精通(elasticsearch安装,安装kibana,安装ik分词器,数据的增删改查,全文检索查询,聚合aggregations)(代码片(

一、Elasticsearch介绍和安装用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易࿰... 查看详情

550elasticsearch详细入门教程系列-分布式全文搜索引擎elasticsearch2023.03.31

...sticsearch简介&安装1.1、Elasticsearch是什么?1.2、全文搜索引擎1.3、Elasticsearch的应用案例1.4、Elasticsearch的下载、安装、运行1.5、有关restful二、参考链接一、Elasticsearch简介&安装1.1、Elasticsearch是什么?TheElasticStack,包括El... 查看详情

lucene全文检索技术

...直接运行。    什么是全文检索。全文检索的场景,搜索引擎,搜索商品。   站内搜索,只会搜索自己站内的资源   全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达到搜索的文档的目... 查看详情