Search

news/2024/11/9 3:10:04/

Search 简介

什么时Search

Transwarp Search基于开源的Elasticsearch进行开发,在其架构的基础上进行了多种功能优化,并通过Esdrive实现了SQL交互方式。Transwarp Search是一个可扩展的分布式全文搜索和分析引擎。

在TDH中Search主要扮演两个角色。首先Search是Hyperbase全文索引的底层实现,其次也作为一个单独的服务。作为一个单独的服务,Search既是一个强大的搜索引擎,又是一个分布式的文件存储系统。

常见的应用场景有海量数据的存储和搜索、日志分析等。

Search的特点

List item

  1. 作为一个分布式的实时文档存储,Search独创的分层存储数据结构,以及支持内存/SSD/SATA的自动分层存储,并且利用堆外内存管理,具有相当优秀的单节点存储能力,集群对于PB级别的数据存储完全没有问题。除此之外还支持结构化、半结构化以及非结构化数据的存储分析。
  2. 除此之外,Search同时还是一个分布式实时搜索引擎。其对冷热数据分级进行存储,并能毫秒级的实现实时关键字检索。计算紧贴数据和索引,在亚秒级别完成在线分析等。
  3. 通过Inceptor来实现SQL引擎与搜索引擎的融合,实现以SQL方式创建索引和全文搜索。
  4. 具有极强的集群扩展性,能实现上千个节点的横向扩展。

Search的主要适用场景

  1. 文档数据库。Search可以作为一个分布式文档存储来存储半结构化、非结构化的数据,其功能和性能均优于MongoDB。
  2. 日志分析与监控。数据统计,以及日志类时间序列数据的存储和分析。
  3. 高聚合率的统计分析,如热词追踪。
  4. 作为一个搜索引擎来实现多条件模糊查询以及不指定列的全文搜索。

Search原理

数据模型

  1. Index(索引):Transwarp Search以 Index
    为单位来组织数据(Document),一个Index下的数据常常有相似的特征。每个Index都有一个名字用于在操作中指代,Index名必须都为英文小写。并且这里的Index(索引)和Transwarp
    HBase中的索引(本地索引、局部索引、全文索引等)不是一个概念。这里的索引是Transwarp Search中的数据对象。
  2. Type(分类):在一个 Index 下,您可以定义一个或多个 Type
    。Type是Index的逻辑上的分类,分类逻辑完全由用户决定。例如存储员工信息的Index可以按部门分类(分为财务部Type、销售部Type、研发部Type等)也可以按办公地点分类(分为北京办公室Type、上海办公室Type、广州办公室Type等)。
  3. Document(文档):Document 是Transwarp Search中最基础的数据单元。例如,员工信息Index中一名员工的信息可以作为一个Document保存;商品信息Index中一件商品的信息也可以作为一个Document保存。Document以JSON格式存储。
  4. Field(字段):Document中的信息存储在字段(Field)中。

分词与索引

分词

分词的过程为:将一个文本块拆分为单独的词( term ),并标准化这些词为标准形式,提高它们的“可搜索性”或“查全率”。分词的工作是由分词器完成的。

分词器有很多种类,比如英文分词器Standard、English或者中文分词器ik、mmseg。不同分词器会产生不同的分词效果,产生不同的索引,所以相同的查询使用不同的分词器会产生不同的结果。

倒排索引

Search使用倒排索引技术来实现全文搜索。倒排索引主要由单词词典和倒排文件两部分组成。

倒排索引会按照指定语法对每一个文档进行分词,然后维护一张表,列举所有文档中出现的单词以及它们出现的文档编号和出现频率。搜索时同样会对关键词进行同样的分词分析,然后查表得到结果。


http://www.ppmy.cn/news/662160.html

相关文章

Sence

■ 关于Scene 一个Scene类(javafx.scene.Scene)对象,是整个Scene的根节点(root) 简单讲,就是所有在窗体里可见的组件都必须包含在scene里 scene只有设置在stage里,它所包含的组件才能显示在窗体 ■ 创建Scene Label lb new Label("t…

huse库

huse笔记 useActionPending(AsyncFunction)返回调用接口以及函数运行状态值 const [waitTime, pendingCount] useActionPending(wait); 接口函数 waitTime 函数运行值 pendingCount 运行时为正 调用异步函数时显示函数运行状态。 useBoolbean(value, methods) method包含on…

HUE

应用场景 按照搭建hadoop2.6.0完全分布式集群博文部署搭建了Hadoop完全分布式集群,发现如果要操作HDFS,HIVE需要到命令行中执行,比较麻烦,而一般情况下命令行是舍不得给业余人士用的,以免把整个环境给弄坏了,所以需要提供一种界面化的操作,来操作HIVE,HDFS,监控MapRed…

eachers

​ eachers的网址&#xff1a;Apache ECharts 定义&#xff1a; 1.一个可以使用javascript实现的开源可视化库。 2.依赖轻量级的矢量图像库&#xff0c;提供直观&#xff0c;交互丰富&#xff0c;可高度个性化定制的数据可视化图标。 使用&#xff1a; 引入js文件 <scr…

hoarse

灰暗哈哈暗暗是搞活是搞活经过决撒工具书吧装甲车经常表侄女名称 好 常常火车现在 大扫除机

VS Code + Conda + Pytorch

系统为W10 安装顺序为&#xff1a;VS code > Conda > Pytorch 一、安装VS code 官网下载其安装包&#xff0c;依次点击安装即可。推荐自定义安装路径。 安装完成后&#xff0c;需要设置系统变量的环境。 验证是否成功&#xff1a; python —version 若显示该python的版…

MySQL面试题1

1. MySQL如何实现索引机制? MySQL中索引分三类: B树索引 Hash索引 全文索引 2. 请简述MySQL中innoDB支持的四种事务隔离级别名称,以及逐级之间的区别? SQL标准定义的四个隔离级别为: read uncommited: 读到未提交数据 在该隔离级别&#xff0c;所有事务都可以看到其他未提…

小知识

机器人的故乡 美国是现代机器人的故乡。50年代&#xff0c;发明家英格伯格和德沃尔成立了“尤尼梅特”公司&#xff0c;并生产出了第一批工业机器人——“尤尼梅特”。1962年&#xff0c;机械与铸造公司研制出了“沃尔萨特兰”工业机器人。这两种机器人是世界上最早、…