搜索引擎是指一个庞大的互联网资源数据库,如网页,新闻组,程序,图像等。它有助于在万维网上定位信息。

用户可以通过以关键字或短语的形式将查询传递到搜索引擎中来搜索信息。 搜索引擎然后搜索其数据库并向用户返回相关链接。

比如下面常用到两个搜索引擎 -

百度、谷歌

搜索引擎组件

一般来说,搜索引擎有三个基本组件,如下所列 -

  • Web爬虫 - Web爬虫也称为蜘蛛或机器人。 它是一个收集网络信息的软件组件。
  • 数据库 - Web上的所有信息都存储在数据库中。它们包含大量的Web资源。
  • 搜索接口 - 此组件是用户和数据库之间的接口。它帮助用户搜索数据库。

搜索引擎是如何工作的?

任何搜索应用程序都需要执行以下一些或全部操作。

步骤 标题或名称 描述
1 获取原始内容 任何搜索应用程序的第一步是收集要进行搜索的目标内容。
2 构建文档 从原始内容构建文档,让搜索应用程序可以很容易地理解和解释。
3 分析文档 在索引开始之前,将对文档进行分析。
4 索引文档 当文档被构建和分析后,下一步是对它们建立索引,以便可以基于特定键而不是文档的全部内容来检索该文档。索引类似于在书开始页或末尾处的目录索引,其中常见单词以其页码显示,使得这些单词可以快速跟踪,而不是搜索整本书。
5 用于搜索的用户接口 当索引数据库就绪,应用程序可以执行搜索操作。 为了帮助用户进行搜索,应用必须提供用户接口,用户可以在其中输入文本并启动搜索过程
6 构建查询 当用户做出搜索文本的请求,应用程序应该使用该文本来准备查询对象,然后可以使用该查询对象来查询索引数据库以获得相关的细节。
7 搜索查询 使用查询对象,检查索引数据库以获取相关详细信息和内容文档。
8 渲染结果 当收到所需的结果,应用程序应决定如何使用其用户界面向用户显示结果。

看看下面的插图。 它显示了搜索引擎功能的总体视图。

除了这些基本操作之外,搜索应用还可以提供管理 - 用户界面以帮助管理员基于用户简档控制搜索的级别。搜索结果分析是任何搜索应用程序的另一个重要和高级方面。

Solr搜索引擎基础的更多相关文章

  1. Elastic Stack之搜索引擎基础

    Elastic Stack之搜索引擎基础 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.搜索引擎概述 1>.什么是搜索引擎 搜索引擎(Search Engine)是指根 ...

  2. Solr搜索引擎 — 通过mysql配置数据源

    一,准备数据库数据表结构 CREATE TABLE `app` ( `id` int(11) NOT NULL AUTO_INCREMENT, `app_name` varchar(255) NOT ...

  3. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

  4. Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

    一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...

  5. Elasticsearch vs Solr 搜索引擎对比和选型

    前言 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选. 基于Lucene它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Githu ...

  6. Solr学习总结(七)Solr搜索引擎的整体架构

    经过前面一段时间的努力,终于把我所知道的关于solr 的内容都总结完了.前面讲到了solr 的安装配置,web管理后台的使用,solr 的查询参数和查询语法,还说到了solr的客户端 solrnet  ...

  7. Solr搜索引擎搭建详细过程

    1    什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中 ...

  8. Django haystack+solr搜索引擎部署的坑.

    跟着<<Django by Example>> 一路做下来,到了搭建搜索引擎的步骤 默认的思路是用 obj.objects.filter(body__icontains='fr ...

  9. PHP-从零开始使用Solr搜索引擎服务(上)

    前言: 原文地址: http://www.cnblogs.com/JimmyBright/p/7156069.html 使用搜索引擎,我们常规的数据查询会快很多,还可以对关键词进行中文分词查询,返回一 ...

随机推荐

  1. 似乎在梦中见过的样子 (KMP)

    # 10047. 「一本通 2.2 练习 3」似乎在梦中见过的样子 [题目描述] 「Madoka,不要相信 QB!」伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Mo ...

  2. ArcGIS Server导出shp文件

    需求: 在项目中客户提出需要在Web端能够定义条件将后台的数据导出shp文件,并下载. 实现: 基于ArcGIS开发导出矢量数据的服务,用户输入导出数据类型.过滤条件.导出范围等条件,服务能够快速将相 ...

  3. 【源码解读】cycleGAN(二) :训练

    源码地址:https://github.com/aitorzip/PyTorch-CycleGAN 训练的代码见于train.py,首先定义好网络,两个生成器A2B, B2A和两个判别器A, B,以及 ...

  4. j网络爬虫之WebMagic

    WebMagic官网:http://webmagic.io/ 注意: 1.在自定义PageProcessor中使用System.out.println(“str”),Spider.create(new ...

  5. 06-REST Framework - API

    # Django REST Framework# 1. REST- 前后端分离- API-ApplicationProgrammingInterface - 为了应付千变万化的前端需求- REST:R ...

  6. 关于websocket 在生产环境中遇到的问题 及 解决办法

    一  生产环境说明 1) tornado 4.2 2) Tornado-MySQL 3) supervisor 3.0b2 4) protobuf 2.6.1 5) python 2.7.6 6) n ...

  7. Linux下载:wget、yum与apt-get用法及区别

    一般来说著名的linux系统基本上分两大类: RedHat系列:Redhat.Centos.Fedora等 Debian系列:Debian.Ubuntu等 RedHat 系列 常见的安装包格式 rpm ...

  8. 微信小程序(19)-- 从底部向上滑出的动画效果

    从底部向上滑出的动画效果: 用到了小程序的触摸事件bindtouchmove,以及创建一个annimation对象,完成动画操作之后使用animation这个对象的export()方法导出动画数据. ...

  9. Thinkphp5 手册

    thinkphp5 手册 https://www.kancloud.cn/manual/thinkphp5/118003

  10. GUI学习之二十四——QDialog学习总结

    今天学习对话框输入控件的基类(QDialog). 一.描述 是对话类窗口(字体框.颜色选择.文件选择框等)的基类. 对话框窗口是顶级窗口(就是说不包含于哪个父类的显示界面里),主要用于短期任务和与用户 ...