首页 > 其他分享 >Elasticsearch 配置内置分析器(3)

Elasticsearch 配置内置分析器(3)

时间:2024-04-09 10:46:09浏览次数:30  
标签:std 内置 自定义 text 分析器 Elasticsearch english my

一. 内置分析器(analyzer)

  内置分析器无需任何配置即可直接使用,也支持配置选项来更改其行为。

  下面示例,分别使用了自定义分析器与内置分析器

PUT my-index-000001
{
  "settings": {
    "analysis": {
      "analyzer": {
        "std_english": {       #自定义分析器名为std_english
          "type":      "standard",   #使用standard分词器
          "stopwords": "_english_"  #使用停用词
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "my_text": {              #创建一个字段
        "type":     "text",
        "analyzer": "standard",  #使用内置standard分析器
        "fields": {              
          "english": {       #创建子字段名为english     
            "type":     "text",
            "analyzer": "std_english"     #使用自定义std_english分析器
          }
        }
      }
    }
  }
}

   1.1 下面使用standard分析器

POST my-index-000001/_analyze 
{
  "field": "my_text", 
  "text": "The old brown cow"
}

    分析结果:[ the, old, brown,cow]

 

  1.2 下面使用自定义std_english分析器

POST my-index-000001/_analyze
{
  "field": "my_text.english", #调用子字段方式
  "text": "The old brown cow"
}

    分析结果: [old, brown,cow]

    使用自定义的std_english分析器,会发现少了一个词 the, 这是因为自定义的分析器中配置了stopwords停用词。

 

参考官方资料:Configuring built-in analyzers

 

标签:std,内置,自定义,text,分析器,Elasticsearch,english,my
From: https://www.cnblogs.com/MrHSR/p/18104264

相关文章

  • Elasticsearch 悬挂索引分析和自己的一点见解
    在Elasticsearch的实战中,悬挂索引是一个既常见又容易引起困扰的概念。今天,我将分享一次处理集群状态为RED,原因为DANGLING_INDEX_IMPORTED 的实战经验,深入探讨悬挂索引的定义、产生原因、管理方法,以及如何有效处理它们,确保读者能够明白并解决自己面临的问题。值得一提的是,......
  • linux 环境下 elasticsearch 及 python 相关库的使用
    -elasticsearch是什么?elasticsearch简称es,是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能。-安装1、下载官网下载地址2、解压tarzxvfelasticsearch-8.13.0-linux-x86_64.tar.gz-C/usr/local/3、解决JDK依赖问题新版本的es压缩......
  • elasticsearch-head的安装和使用
    一、elasticsearch-head插件介绍elasticsearch-head是elasticsearch的一款可视化工具,依赖于node.js,所以需要先安装node.js二、安装Node.js详情见文章nodejs安装和使用三、安装Grunt这一步可不做#Grunt是基于Node.js的项目构建工具。grunt作为一个前端构建工具,有资源......
  • Elasticsearch 配置与测试分析器 (2)
    一.配置文本分析器(Configuretextanalysis) 默认情况下,Elasticsearch使用standard分析器来进行文本分析,如果使用该分析器,则不用额外的配置。如果不满足,可以使用其它内置分析器,也可以创建自定义的分析器更好的控制,通常在生产实战中都是自定义分析器,方便更好扩展。 ......
  • Elasticsearch,使用scroll实现遍历(分页)查询
    为什么要使用scroll查询在使用es中,当某个index存贮的数据超过10000时,只能查询到10000的数据。因为index.max_result_window默认值是10000。并且使用游标查询可以在一次查询中获取大量文档,并且保持查询快照状态,允许用户多次检索数据而不影响其他并发请求。scroll查......
  • elasticsearch mapping
    1 概念:​ ES中的mapping有点类似与RDB中“表结构”的概念,在MySQL中,表结构里包含了字段名称,字段的类型还有索引信息等。在Mapping里也包含了一些属性,比如字段名称、类型、字段使用的分词器、是否评分、是否创建索引等属性,并且在ES中一个字段可以有对个类型。分词器、评分等概念在......
  • 【编译原理】手工打造语法分析器
    重点:语法分析的原理递归下降算法(RecursiveDescentParsing)上下文无关文法(Context-freeGrammar,CFG)关键点:左递归问题深度遍历求值-后续遍历上一篇「词法分析器」将字符串拆分为了一个一个的token。本篇我们将token变成语法树。一、递归下降算法还是这个例子in......
  • Elasticsearch 认识分词(1)
    一.概述分词是构建倒排索引的重要一环。根据语言不同可以分为英文分词、中文分词等;根据分词实现的不同又分为标准分词器、空格分词器、停用词分词器等。在传统的分词器不能解决特定业务场景的问题时,往往需要自定义分词器。1.1认识分词对于分词操作来说,英语单词......
  • Elasticsearch-定制分词器
    一、内置分词器分词步骤1).characterfilter:在一段文本进行分词之前,先进行预处理,eg:最常见的过滤html标签(hello->hello),&->and(I&you->Iandyou)2).tokenizer:分词,eg:helloyouandme->hello,you,and,me3).tokenfilter:一个个小单词标准化转换lower......
  • day12-内置模块和开发规范
    1.内置模块1.1jsonjson模块,是python内部的一个模块,可以将python的数据格式转换为json格式的数据,也可以将json格式的数据转换为python的数据格式。json格式,是一个数据格式(本质上就是个字符串,常用语网络数据传输)#Python中的数据类型的格式data=[{"id":1,"name":"......