[ElasticSearch]分析之Analysis(分析)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 分析(analysis)是将文本(如任何电子邮件的正文)转换为添加到倒排索引中进行搜索的tokens或terms的过程。 分析由分析器analyzer执行,分析器可以是内置分析器或者每个索引定制的自定义分析器。

分析(analysis)是将文本(如任何电子邮件的正文)转换为添加到倒排索引中进行搜索的tokensterms的过程。 分析由分析器analyzer执行,分析器可以是内置分析器或者每个索引定制的自定义分析器。

1. 索引时分析(Index time analysis)

例如在索引时,内置的英文分析器将会转换下面句子:

"The QUICK brown foxes jumped over the lazy dog!"

转换为添加到倒排索引中的terms如下:

[ quick, brown, fox, jump, over, lazi, dog ]

1.1 指定索引时分析器

映射中的每个text字段都可以指定其自己的分析器:

curl -XPUT 'localhost:9200/my_index?pretty' -H 'Content-Type: application/json' -d'
{
  "mappings": {
    "my_type": {
      "properties": {
        "title": {
          "type":     "text",
          "analyzer": "standard"
        }
      }
    }
  }
}
'

在索引时,如果没有指定分析器,则会在索引设置中查找一个叫做default的分析器。 如果没有找到,默认使用标准分析器standard analyzer

2. 搜索时分析(Search time analysis)

同样的分析过程可以应用于进行全文检索搜索(例如match query 匹配查询)时,将查询字符串的文本转换为与存储在倒排索引中相同形式的terms

例如,用户可能搜索:

"a quick fox"

这将由相同的英语分析器分析为以下terms(上面索引时举例使用的是英语分析器):

[ quick, fox ]

即使在查询字符串中使用的确切单词不会出现在原始存储文本(quick vs QUICKfox vs foxes)中,因为我们已将相同的分析器应用于文本和查询字符串上,查询字符串中的terms 能够完全匹配到倒排索引中来自文本的terms,这意味着此查询将与我们的示例文档匹配。

2.1 指定搜索时分析器

通常情况下,在索引时和搜索时应该使用相同的分析器,而全文查询full text queries(例如匹配查询 match query)将使用映射来查找用于每个字段的分析器(use the mapping to look up the analyzer to use for each field.)。

通过查找用于搜索特定字段的分析器来决定::

  • 在查询本身中指定的分析器。
  • search_analyzer 映射参数。
  • analyzer 映射参数。
  • 索引设置中的default_search分析器。
  • 索引设置中的default分析器。
  • standard 标准分析器.

ElasticSearch版本

5.4

原文:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6月前
|
自然语言处理 API 索引
Elasticsearch Analyzer原理分析并实现中文分词
Elasticsearch Analyzer原理分析并实现中文分词
106 0
|
6月前
|
搜索推荐 Java 数据处理
Elasticsearch搜索分析引擎本地部署与远程访问
Elasticsearch搜索分析引擎本地部署与远程访问
|
2天前
|
存储 SQL 监控
|
2天前
|
运维 监控 安全
|
2月前
|
存储 缓存 自然语言处理
深度解析ElasticSearch:构建高效搜索与分析的基石
【9月更文挑战第8天】在数据爆炸的时代,如何快速、准确地从海量数据中检索出有价值的信息成为了企业面临的重要挑战。ElasticSearch,作为一款基于Lucene的开源分布式搜索和分析引擎,凭借其强大的实时搜索、分析和扩展能力,成为了众多企业的首选。本文将深入解析ElasticSearch的核心原理、架构设计及优化实践,帮助读者全面理解这一强大的工具。
159 7
|
4月前
|
运维 监控 Java
在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。
【7月更文挑战第1天】在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。本文讲解如何在Java中集成Elasticsearch,包括安装配置、使用RestHighLevelClient连接、创建索引和文档操作,以及全文检索查询。此外,还涉及高级查询、性能优化和故障排查,帮助开发者高效处理非结构化数据。
69 0
|
6月前
|
存储 JSON API
【Elasticsearch专栏 16】深入探索:Elasticsearch的Master选举机制及其影响因素分析
Elasticsearch,开源搜索和分析引擎,以其分布式特性受开发者喜爱。本文聚焦其Master选举过程,关键在于保障集群稳健和高可用。Master负责集群操作,数据节点存储数据。选举在Master不可用时发生,基于Zen Discovery模块,遵循多数派协议。选举过程包括启动发现、选举触发、节点投票和状态同步。相关命令和配置有助于管理选举和集群状态。理解和优化选举机制能提升Elasticsearch集群的性能和稳定性。
112 1
|
6月前
|
存储 Serverless 定位技术
深度探索 Elasticsearch 8.X:function_score 参数解读与实战案例分析
深度探索 Elasticsearch 8.X:function_score 参数解读与实战案例分析
149 0
|
11月前
|
存储 SQL 监控
从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升
SelectDB 助力观测云完成日志数据存储和分析架构升级,实现整体性价比 10 倍提升,为日志存储和分析场景服务提供强大动力。