《从Lucene到Elasticsearch:全文检索实战》学习笔记一
今天,我主要给大家讲一下信息检索概念。
信息检索:
互联网时代的飞速发展使人们进入了信息爆炸时代,据统计全球的互联网用户已达到30亿,在各个网站及移动app在每个分钟
产生的数据量是巨大的,从而导致数据就具有了数据量巨大大,数据种类繁多,数据更新快等特点,这些数据具有很大的价值,无
数科学家和工程师提出了很多方法从这海量数据中获取我们想要的数据。例如:分类目录,搜索引擎。
分类目录是将网站分类整理,按类别存放网站的目录及子目录,可以在各类目录中逐级浏览寻找相关的网站,分类目录中往往
还提供交叉索引,从而可以方便在相关的目录之间跳转和浏览,早期的门户网站,如雅虎,搜狐,新浪等,都是将不同来源的信息以
整齐划一的形式整理,储存并呈现给用户,用户根据信息来源,信息类型,关键字等方式筛选网站内容。
搜索引擎是指自动从互联网搜集信息,经过数据组装呈现给互联网用户。现在,比较有代表性的搜索引擎公司有百度,谷歌。
我们现在更多是web搜索,是信息检索的一个分支,信息检索是从大规模非结构化的数据集合中找出用户需要的信息的过程。
信息检索领域有一些常用的术语,它主要包含用户需求,查询,文档,文档集,文档编号,词条。一个完整的信息检索系统架
构图如下图所示,它主要包括信息采集,信息整理,用户查询三部分。
信息采集是指通过网络爬虫自动爬取的,网络爬虫是按照某种规则自动抓取互联网的程序,通过爬虫程序可以将网页中的内容
进行深层的分析和挖掘,经过格式处理后就可以提取网页信息为创建索引做准备。
信息检索系统整理信息的过程称为索引构建。它不仅要保存搜集起来的信息,还要按一定的规则的存储,这样就可以按规则很
块找到需要的信息。
用户向信息检索系统发出查询请求,信息检索接受查询请求并向用户返回检索到的文档。信息检索系统每时每刻都要等待来自
大量用户的查询请求,它安装每个用户的要求检查自己的索引,在短时间内找到用户需要的数据,并返回给用户。
---------------------
作者:柯之梦
来源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/85729471
版权声明:本文为博主原创文章,转载请附上博文链接!
《从Lucene到Elasticsearch:全文检索实战》学习笔记一的更多相关文章
- Java多线程编程实战指南(核心篇)读书笔记(五)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76730459冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...
- Java多线程编程实战指南(核心篇)读书笔记(四)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76690961冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...
- Java多线程编程实战指南(核心篇)读书笔记(三)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76686044冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...
- Java多线程编程实战指南(核心篇)读书笔记(二)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76651408冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...
- Java多线程编程实战指南(核心篇)读书笔记(一)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76422930冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...
- 《Java多线程编程实战指南(核心篇)》阅读笔记
<Java多线程编程实战指南(核心篇)>阅读笔记 */--> <Java多线程编程实战指南(核心篇)>阅读笔记 Table of Contents 1. 线程概念 1.1 ...
- 学习笔记《Java多线程编程实战指南》三
3.1串行.并发与并行 1.串行:一件事做完接着做下一件事. 2.并发:几件事情交替进行,统筹资源. 3.并行:几件事情同时进行,齐头并进,各自运行直到结束. 多线程编程的实质就是将任务处理方式由串行 ...
- 学习笔记《Java多线程编程实战指南》二
2.1线程属性 属性 属性类型及用途 只读属性 注意事项 编号(id) long型,标识不同线程 是 不适合用作唯一标识 名称(name) String型,区分不同线程 否 设置名称有助于 ...
- 学习笔记《Java多线程编程实战指南》一
1.1什么是多线程编程 多线程编程就是以线程为基本抽象单位的一种编程范式,和面向对象编程是可以相容的,事实上Java平台中的一个线程就是一个对象.多线程编程不是线程越多越好,就像“和尚挑水”的故事一样 ...
- Java多线程编程实战指南 设计模式 读书笔记
线程设计模式在按其有助于解决的多线程编程相关的问题可粗略分类如下. 不使用锁的情况下保证线程安全: Immutable Object(不可变对象)模式.Thread Specific Storage( ...
随机推荐
- linux --- 8. mysql数据库,redis 数据库
一. mysql 数据库 1.安装方式 ①yum安装 ②源代码编译安装 ③rpm包安装 yum安装的前提条件,是准备好yum源,可以选择163源,清华源,阿里云源,等等等 .安装mariadb的yum ...
- 关于变量,JAVA基本数据类型,运算符类型,如何从控制台接收输入的数据
一,变量与变量的使用 1.变量是在程序运行中其值可以改变的量,java程序的一个基本存储单元 2.变量的使用 变量类型+变量名 二,JAVA基本数据类型 1.数值型a.整点类型(byte.short. ...
- visual studio中csproj文件中的project guid改为小写
安装了vs2019之后,发现有的项目中引用的其他项目的源码,但是无法识别了. 最后发现是因为project guid是大写导致的. https://stackoverflow.com/question ...
- HDU2476 String painter——区间DP
题意:要把a串变成b串,每操作一次,可以使a串的[l,r]区间变为相同的一个字符.问把a变成b最少操作几次. 这题写法明显是区间dp ,关键是处理的方法. dp[l][r]表示b串的l~r区段至少需要 ...
- js 数组的拷贝
在js中,数组Array是引用类型,直接将数组赋值给一个变量名,二者所指向的地址是一样的. 所以直接复制数组会产生意想不到的结构. 要想解决拷贝一个数组但是对副本的修改不影响原来的数组,有以下方式: ...
- $set()的正确使用方式
vue给对象新增属性,并触发视图更新 如下代码:给student对象新增age属性 data () { return { student: { name: '', sex: '' } } } 众所周知 ...
- 拼接字符串,生成tree格式的JSON数组
之前做的执法文书的工作,现在需要从C#版本移植到网页版,从Thrift接口获取数据,加载到对应的控件中 之前用的easyui的Tree插件,通过<ul><li><span ...
- OLAP多维数据库备份
本人开发了一款OLAP多维数据库备份软件,现将其贡献博客园. 链接: https://pan.baidu.com/s/1oL8xVZfSUiUcvrvohxKVoQ 提取码: nmh5 操作方式: 1 ...
- fastjson将json字符串转化成map的五种方法
package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObj ...
- ionic3 双向数据绑定失效 脏值检测失效
最近在使用ionic3过程中,使用了eval()方法进行字符串拼接成一个function使用 在eval()方法中,只能使用局部变量,全局变量无法使用,ionic3的this在eval中失效(unde ...