当前位置: 首页 > wzjs >正文

网站推广品牌建设百度爱采购登录入口

网站推广品牌建设,百度爱采购登录入口,网站建设解决方案ppt,带分期功能的网站建设Elasticsearch 的标准化器(Normalizers)是一种特殊的分析器,用于对keyword类型字段的文本进行统一的格式化处理。与普通分析器不同,标准化器只能产生单个标记(token),因此它不包含分词器&#x…

Elasticsearch 的标准化器(Normalizers)是一种特殊的分析器,用于对`keyword`类型字段的文本进行统一的格式化处理。与普通分析器不同,标准化器只能产生单个标记(token),因此它不包含分词器(tokenizer),并且只能使用基于单个字符的过滤器。

标准化器的主要特点

1. 单标记输出:标准化器只能输出一个标记,因此它适用于对整个字段进行统一处理,而不是将字段拆分为多个标记。

2. 字符过滤器和标记过滤器:标准化器可以使用字符过滤器(`char_filter`)和标记过滤器(`filter`),但只能使用基于单个字符的过滤器,例如`lowercase`(小写化)、`asciifolding`(将非 ASCII 字符转换为 ASCII 字符)。

3. 应用场景:标准化器通常用于需要在索引和查询时对字段进行统一格式化的场景,例如去除特殊字符、统一大小写等。

内置标准化器

Elasticsearch 自带了一个名为`lowercase`的内置标准化器,它会将所有字符转换为小写。

自定义标准化器

可以通过在索引的分析设置中定义自定义标准化器。以下是一个自定义标准化器的示例配置:

```json

PUT index

{

  "settings": {

    "analysis": {

      "normalizer": {

        "my_normalizer": {

          "type": "custom",

          "char_filter": [],

          "filter": ["lowercase", "asciifolding"]

        }

      }

    }

  },

  "mappings": {

    "properties": {

      "foo": {

        "type": "keyword",

        "normalizer": "my_normalizer"

      }

    }

  }

}

```

在这个例子中:

• 定义了一个名为`my_normalizer`的自定义标准化器,它使用了`lowercase`和`asciifolding`过滤器。

• 将字段`foo`的类型设置为`keyword`,并指定使用`my_normalizer`进行标准化。

标准化器的应用场景

1. 统一大小写:在搜索时,用户可能输入大写或小写的文本,使用`lowercase`过滤器可以确保索引和查询时的文本大小写一致。

2. 去除特殊字符:通过`asciifolding`过滤器,可以将非 ASCII 字符转换为 ASCII 字符,例如将`é`转换为`e`。

3. 文本格式化:在某些场景下,需要对字段进行统一的格式化处理,例如去除多余的空格或特殊符号。

示例

假设我们有一个字段`foo`,需要在索引和查询时将其内容统一转换为小写并去除特殊字符。我们可以定义一个自定义标准化器`my_normalizer`,并将其应用于`foo`字段。

```json

PUT index

{

  "settings": {

    "analysis": {

      "normalizer": {

        "my_normalizer": {

          "type": "custom",

          "char_filter": [],

          "filter": ["lowercase", "asciifolding"]

        }

      }

    }

  },

  "mappings": {

    "properties": {

      "foo": {

        "type": "keyword",

        "normalizer": "my_normalizer"

      }

    }

  }

}

```

在索引文档时:

```json

PUT index/_doc/1

{

  "foo": "BÀR"

}

```

在查询时:

```json

GET index/_search

{

  "query": {

    "term": {

      "foo": "BAR"

    }

  }

}

```

由于`foo`字段使用了`my_normalizer`,在索引和查询时都会将文本转换为小写并去除特殊字符,因此查询`"BAR"`时可以匹配到索引的`"BÀR"`。

通过合理使用标准化器,可以有效提高搜索的准确性和灵活性,同时减少因文本格式差异导致的搜索问题。

http://www.dtcms.com/wzjs/596241.html

相关文章:

  • 网站开发用php还是js精准营销平台
  • 盐城哪里做网站宁波seo关键词优化制作
  • 个人网站设计企业wordpress 动态缓存
  • 海南省住房和建设厅网站百度关键词排名突然下降很多
  • 建设营销型网站的目的有哪些深圳 高端 建站公司
  • 大同格泰网站建设黄浦区做网站
  • 旅游网站改版方案wordpress icon 插件
  • 室内设计师之路网站做瑞士网站
  • 搭建论坛网站的流程杰讯山西网站建设
  • 保定涿州网站建设网络构建的基本步骤
  • 建网站提供下载网站运营案例
  • 重庆网站建设途锦科技电子商务企业网站有哪些
  • 萝岗区网站建设推广深圳网站建设大公司
  • 除了速卖通还有什么网站做外贸多语言版本网站制作
  • 网站开发 ie兼容公司管理系统有哪些
  • 衡阳seo网站推广开发者选项
  • 中山建设局网站首页wordpress使用手册
  • 甘肃网站开发如何在手机上制作动画
  • 建设网站工作汇报什么是网络营销竞争的利器之一
  • 杭州滨江网站制作房产交易网站开发
  • 西宁网站设计建设网站建设的 文献综述
  • 网站建设步骤详解视频wordpress不生成缩略图
  • 网站建设织梦源码网站备案怎么更改吗
  • 小叮当网站建设seo网站页面优化
  • 长春网站推广公司装修公司加盟品牌排行榜
  • 交流稿 网站建设网站建设规划书电商
  • 站长网站查询工具wordpress网站上传到服务器
  • 网站开发学哪种语言免费入驻的外贸平台
  • 免费单页网站模板建设银行网站官方网站
  • 滴滴网站建设流程图重庆seo是什么