Elasticsearch 初步认识

Elasticsearch 初步认识

1 索引(index)

索引是具有相同结构的文档集合。例如,可以有一个客户信息的索引,包括一个产品目录的索引,一个订单数据的索引。在系统上索引的名字全部小写,通过这个名字可以用来执行索引、搜索、更新和删除操作等。在单个集群中,可以定义多个你想要的索引。

2 类型(type)

在索引中,可以定义一个或多个类型,类型是索引的逻辑分区。在一般情况下,一种类型被定义为具有一组公共字段的文档。例如,让我们假设你运行一个博客平台,并把所有的数据存储在一个索引中。在这个索引中,你可以定义一种类型为用户数据,一种类型为博客数据,另一种类型为评论数据。

Elasticsearch 7.x

  • 不建议在请求中指定类型。

Elasticsearch 8.x

  • 不再支持在请求中指定类型。
  • include_type_name 参数已删除。

https://www.elastic.co/guide/en/elasticsearch/reference/7.x/removal-of-types.html

3 文档(document)

文档存储在Elasticsearch 中的一个JSON格式的字符串。它就像在关系数据库中表的一行。每个存储在索引中的一个文档都有一个类型和一个 ID ,每个文档都是一个 JSON 对象,存储了零个或者多个字段,或者键值对。原始的 JSON 文档被存储在一个叫做 _source 的字段中。当搜索文档的时候默认返回的就是这个字段。

4 映射(mapping)

映射像关系数据库中的表结构,每一个索引都有一个映射,它定义了索引中的每一个字段类型,以及一个索引范围内的设置。一个映射可以事先被定义,或者在第一次存储文档的时候自动识别。

5 字段(field)

文档中包含零个或者多个字段,字段可以是一个简单的值(例如字符串、整数、日期),也可以是一个数组或对象的嵌套结构。字段类似于关系数据库中表的列。每个字段都对应一个字段类型,例如整数、字符串、对象等。字段还可以指定如何分析该字段的值。

6 来源字段(source field)

默认情况下,你的原文档将被存储在 _source 这个字段中,当你查询的时候也是返回这个字段。这允许你可以从搜索结果中访问原始的对象,这个对象返回一个精确的 JSON 字符串,这个对象不显示索引分析后的其他任何数据。

7 分析与分析器

使用 analyze API 来看文本是如何被分析的

复制代码
GET /_analyze
{
  "analyzer": "standard",
  "text": "Text to analyze"
}

结果:

复制代码
{
   "tokens": [
      {
         "token":        "text",
         "start_offset": 0,
         "end_offset":   4,
         "type":         "<ALPHANUM>",
         "position":     1
      },
      {
         "token":        "to",
         "start_offset": 5,
         "end_offset":   7,
         "type":         "<ALPHANUM>",
         "position":     2
      },
      {
         "token":        "analyze",
         "start_offset": 8,
         "end_offset":   15,
         "type":         "<ALPHANUM>",
         "position":     3
      }
   ]
}
  • token 是实际存储到索引中的词条。
  • position 指明词条在原始文本中出现的位置。
  • start_offset 和 end_offset 指明字符在原始字符串中的位置。

8 jar客户端

xml 复制代码
<dependency>
   <groupId>io.searchbox</groupId>
   <artifactId>jest</artifactId>
   <version>5.3.3</version>
</dependency>
xml 复制代码
<dependency>
   <groupId>org.elasticsearch</groupId>
   <artifactId>elasticsearch</artifactId>
   <version>5.5.3</version>
</dependency>
相关推荐
supericeice39 分钟前
创邻科技 AI智算一体机:支持 DeepSeek 671B 与 Qwen3 单机部署,覆盖纯CPU到多GPU多机扩展
大数据·人工智能·科技
智慧景区与市集主理人1 小时前
巨有科技云票务,破解景区五一运营的入园难“效率瓶颈”
大数据·人工智能·科技
媒介发稿小能手1 小时前
技术视角下的品牌传播范式迁移:当“搜索引擎优化”让位于“媒体收录逻辑”
大数据·搜索引擎·ai·产品运营·媒体
2501_933329551 小时前
企业媒体发布与舆情管理实战:Infoseek舆情系统技术架构与落地解析
大数据·开发语言·人工智能·数据库开发
Are_You_Okkk_1 小时前
AI原生与外挂的区别:开源知识库的优势及优化方向
大数据·人工智能·开源
KKKlucifer1 小时前
非结构化 / 半结构化数据的深度语义解析与精准分类分级技术
大数据·分类·数据挖掘
他们叫我技术总监1 小时前
零依赖!FineReport11 快速对接 TDengine 数据库:从驱动部署到报表实现
大数据·数据库·ai·tdengine
TDengine (老段)1 小时前
TDengine IDMP 可视化 —— 定时报告
大数据·数据库·人工智能·物联网·时序数据库·tdengine·涛思数据
jikemaoshiyanshi2 小时前
B2B企业GEO服务商哪家好?深度解析径硕科技(JINGdigital)及其JINGEO产品为何是首选
大数据·运维·人工智能·科技
Elastic 中国社区官方博客2 小时前
使用 Jina-VLM 小型多语言视觉语言模型来和图片对话
大数据·人工智能·elasticsearch·语言模型·自然语言处理·jina