大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的文档操作的分词

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 搜索引擎Elasticsearch是一种流行的大数据存储和分析工具,它可以通过API来进行数据索引、查询和分析等操作。在本文中,我们将会介绍Elasticsearch的文档操作之一:分词。


  1. 分词器

分词是将输入的文本分解成独立单元的过程,这些单元通常称为tokens或terms。在Elasticsearch中,分词由分词器(tokenizer)、过滤器(filter)和字符过滤器(char filter)组成。

分词器负责将输入文本分解成tokens,Elasticsearch内置了多种分词器,如标准分词器(standard tokenizer)、较简单的空格分词器(whitespace tokenizer)等。除了内置分词器,Elasticsearch还支持用户自定义分词器。

  1. 过滤器

过滤器负责对tokens进行进一步处理,如删除停用词、将tokens转换为小写字母、提取数字等。Elasticsearch也内置了多种过滤器,如停用词过滤器(stopwords filter)、小写字母过滤器(lowercase filter)等。同样地,用户也可以自定义过滤器。

  1. 字符过滤器

字符过滤器负责在分词器执行之前对输入文本进行预处理,如替换某些字符、删除HTML标签等。Elasticsearch内置了多种字符过滤器,如HTML字符过滤器(html strip char filter)等。同样地,用户也可以自定义字符过滤器。

  1. 分析器

分析器是将分词器、过滤器和字符过滤器组合起来形成的文本处理管道。Elasticsearch支持多种预定义分析器,如标准分析器(standard analyzer)、简单分析器(simple analyzer)等。用户也可以根据具体需求自定义分析器,例如创建一个针对中文文本的自定义分析器。

在具体使用过程中,我们可以通过以下API来指定不同的分析器:

PUT /my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "whitespace",
          "filter": [
            "lowercase",
            "stop"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "my_analyzer"
      }
    }
  }
}

以上就是Elasticsearch分词的简要介绍。当然,在实际应用中我们可能会遇到更加复杂的场景和需求,需要结合具体情况进行灵活调整和优化。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
124 5
|
3月前
|
存储 人工智能 API
(Elasticsearch)使用阿里云 infererence API 及 semantic text 进行向量搜索
本文展示了如何使用阿里云 infererence API 及 semantic text 进行向量搜索。
175 8
|
5月前
|
存储 人工智能 自然语言处理
Elasticsearch Inference API增加对阿里云AI的支持
本文将介绍如何在 Elasticsearch 中设置和使用阿里云的文本生成、重排序、稀疏向量和稠密向量服务,提升搜索相关性。
244 14
Elasticsearch Inference API增加对阿里云AI的支持
|
4月前
|
自然语言处理 API
分词提取[关键词提取]免费API接口教程
接口用于从指定文本中提取关键词,支持POST和GET请求。需提供用户ID、用户KEY及待提取文本,可选设置关键词分隔符。返回状态码及结果或错误信息。示例中ID与KEY为公共测试用,建议使用个人ID与KEY以获得更高调用频率。
|
4月前
|
监控 API 索引
Elasticsearch集群使用 _cluster/health API
Elasticsearch集群使用 _cluster/health API
155 2
|
4月前
|
Unix API 索引
Elasticsearch集群使用 _cat/health API
Elasticsearch集群使用 _cat/health API
75 1
|
4月前
|
存储 NoSQL 大数据
大数据 数据存储优化
【10月更文挑战第25天】
189 2
|
5月前
|
存储 NoSQL 大数据
大数据中数据存储 (Data Storage)
【10月更文挑战第17天】
560 2
|
5月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
127 3
|
5月前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
66 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)