1.搜索引擎的历史,搜索引擎起步,发展,繁荣,搜索引擎的原理,搜索技术用途,信息检索过程,倒排索引,什么是Lucene,Lucene快速入门

本文主要是介绍1.搜索引擎的历史,搜索引擎起步,发展,繁荣,搜索引擎的原理,搜索技术用途,信息检索过程,倒排索引,什么是Lucene,Lucene快速入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



一:

1  搜索引擎的历史

萌芽:ArchieGopher

Archie:搜索FTP服务器上的文件

Gopher:索引网页

 

2  起步:Robot(网络机器人)的出现与spider(网络爬虫)

Robot基于网络的,可以执行特定任务的程序

Spider:特殊的机器人,网络爬虫,爬取互联网上的信息(可以是文件,网络)----网络自动下载程序

 

3   发展阶段:excite,galaxy,yahoo这些公司做搜索

 

4   繁荣:infoseek,AltaVista,Google和百度

 

5   搜索引擎的原理:

有三步

A  爬取资源

B  建立索引

C  用户索引

  搜索技术能用来做什么?

案例:

A  使用wordCtrl+F进行检索:原理:从文档自上而下搜索

B  windows的资源管理器中看搜索:搜索每个文件夹,检索需要的文件

C MyEclipse中的help contents:原理:站内搜索

D BaiduGoogle提供互联网中各种资源的搜索:原理:垂直搜索

 

三:信息检索的过程

A  构建文本库

B  建立索引

C  进行搜索

D  对结果进行排序

 

四:倒排索引

倒排搜索区别于传统查找,传统线性查找,按照信息从前到后,依次查找(效率),倒排搜索,记录信息出现的位置,通过索引内容快速找到关键信息,类似书记的目录!

 

五:什么是Lucene(全文检索框架,apache提供)

A  Lucene是一套用于全文检索和搜寻的开源程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开发源代码工具

 

B Lucene是提供了一个简单却强大的应用程式接口,能够做全文检索索引和搜寻,在Java开发环境里Lucene是一个成熟的免费的开放源代码工具。

 

 

全文检索:对数据建立全文索引,根据全文索引搜索信息

 

solr 是高性能搜索服务器,基于Lucene

 

Lucene并不是现成的搜索引擎产品,但可以用来制作搜索引擎产品

Lucene是搜索引擎的开发技术,Lucene并不是一个现成的产品

 

官网:http://lucene.apache.org

  什么是全文件检索

全文检索:对需要查找数据的每一个单词建立索引

 

七:Lucene快速入门(5个步骤)

A 下载Lucene的卡发包,Lucene-3.6.2.zip

B 导入jar包到工程Lucene-core-3.6.2.jar

C 将数据转换成为文档对象Document

D 建立索引Index

E 查询索引获取数据

 

 

 

这篇关于1.搜索引擎的历史,搜索引擎起步,发展,繁荣,搜索引擎的原理,搜索技术用途,信息检索过程,倒排索引,什么是Lucene,Lucene快速入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918378

相关文章

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、