Elasticsearch 学习路线

本文详细介绍了Elasticsearch的核心概念、优势、与其他搜索引擎的区别,以及从基础到进阶的使用方法。内容涵盖倒排索引与正排索引的区别,搜索相关性模型,中文分词原理,Elasticsearch的安装与基础操作,数据建模,集群规划,性能优化等。通过本文,读者将深入理解Elasticsearch在全文搜索、数据分析和实时响应等方面的应用。
摘要由CSDN通过智能技术生成

搜索引擎认知

搜索引擎是什么

  • 所谓搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术。
  • 搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。搜索引擎是工作于互联网上的一门检索技术,它指在提高人们获取搜集信息的速度,为人们提供更好的网络使用环境。从功能和原理上搜索引擎大致被分为全文搜索引擎、元搜索引擎、垂直搜索引擎和目录搜索引擎等四大类。

倒排索引VS正排索引

  • 倒排索引**(英语:Inverted index)**,也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。

    倒排索引有两种不同的反向索引形式:
      一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。
      一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置。
      后者的形式提供了更多的兼容性(比如短语搜索),但是需要更多的时间和空间来创建。
      现代搜索引擎的索引都是基于倒排索引。相比“签名文件”、“后缀树”等索引结构,**“倒排索引”**是实现单词到文档映射关系的最佳实现方式和最有效的索引结构。

  • 正排索引是从网页到关键字的映射,一般含有网页ID、关键字(或关键字ID)、关键字出现次数、关键字出现位置等几个重要参数。例如给定两篇文档“中国人民爱中国”和“中国历史悠久”,经分词后创建的一个典型的正排索引如下所示:

    ​ 其中,Hits代表了关键字在文档中出现次数,List代表了关键字出现在文档中的位置。

    ​ 因此正排索引是通过网页来寻找关键字,可以知道一个网页中是否包含了某个关键字、关键字出现了几次以及关键字出现的位置。但是网页检索是通过关键字来找文档,因此需要把正排索引转换为倒排索引,才能满足实际的需求。

搜索相关性模型

分词

  • 中文分词原理
    • 基于词典或规则的方法
      • 定义:按照一定策略将待分析的汉字串与一个“大机器词典”中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。
        1. 按照扫描方向的不同:正向匹配和逆向匹配
        2. 按照长度的不同:最大匹配和最小匹配
    • 基于统计的方法
      • 主要思想:把每个词看做是由词的最小单位各个字总成的,如果相连的字在不同的文本中出现的次数越多,就证明这相连的字很可能就是一个词。因此我们就可以利用字与字相邻出现的频率来反应成词的可靠度,统计语料中相邻共现的各个字的组合的频度,当组合频度高于某一个临界值时,我们便可认为此字组可能会构成一个词语。
  • 中文分词开源工具
    • ik
    • ansj
    • hanlp
    • jieba

索引质量评价标准

实际/预测 预测类为Class_A 预测类为其他类
实际类为Class_A TP: 实际为Class_A,也被正确预测的测试数据条数 FN: 实际为Class_A,但被预测为其他类的测试数据条数
实际类为其他类 FP:实际不是Class_A,但被预测为Class_A的数据条数 TN:实际不是Class_A,也没有被预测为Class_A的数据条数
  • 精准率: Precision=TP/(TP+FP) ,即在所有被预测为 Class_A 的测试数据中,预测正确的比率。
  • 召回率: Recall=TP/(TP+FN) ,即在所有实际为 Class_A 的测试数据中,预测正确的比率。

Elasticsearch 认知

Elasticsearch是什么?

​ Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。

Elasticsearch能干什么?

  • 提供快速查询
  • 确保结果的相关性
  • 超越精确匹配
    • 处理错误的拼写
    • 支持变体
    • 使用统计信息
    • 给予自动提示

Elasticsearch和Lucene,solr的不同是什么

solr和elasticsearch都是基于Lucene实现的!

  • Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
  • Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
  • Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
  • Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch

Elasticsearch核心优势是什么?

  • Elasticsearch 很快。
  • Elasticsearch 具有分布式的本质特征.
  • Elasticsearch 包含一系列广泛的功能。
  • Elastic Stack 简化了数据采集、可视化和报告过程。

安装Elasticsearch最新版本V7.X

  • 关注最新特性参考文档

    彻底废弃多type支持,包括api层面,之前版本可在一个索引库下创建多个type。
    
    彻底废弃_all字段支持,为提升性能默认不再支持全文检索,即7.0之后版本进行该项配置会报错。
    
    新增应用程序主动监测功能,搭配对应的kibana版本,用户可监测应用服务的健康状态,并在出现问题后及时发出通知。
    
    取消query结果中hits count的支持(聚合查询除外),使得查询性能大幅提升(3x-7x faster)。这意味着&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值