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

查看 Elasticsearch 分析器

分析器决定了文本字段如何被拆分和索引,选择合适的分析器可以提高搜索的精度和效率。
那么,如何查看 Elasticsearch 中使用的什么分词器呢?

要查看 Elasticsearch 中使用的分析器,可以查看索引的映射信息。

GET /<index name>/_mapping

常见索引及其特点:

  1. 标准分析器(standard analyzer):标准分析器是 Elasticsearch 默认使用的分析器。它将文本划分为小写形式的单词,并去掉停用词(the、is 等)。标准分析器还进行了一些 token 过滤,例如去除数字、符号等。标准分析器适用于大部分情况下的文本搜索。

  2. 简单分析器(simple analyzer):简单分析器不进行分词,只将输入字符串分成小写的单词,去掉停用词并进行过滤。它适用于非常规的文本分析,例如单词短、不需要分词的场景。

  3. 语言分析器(language analyzer):语言分析器专门针对不同语言的文本进行分析。例如,中文分析器使用中文分词技术将文本分成中文单词。语言分析器可以提高分析的准确性和效率。

  4. 较为高级的分析器:

  • 自定义分析器(custom analyzer):自定义分析器可以根据具体需求定制各种分析器组件,例如字符过滤器(char filter)、分词器(tokenizer)和标记过滤器(token filter)等。自定义分析器适用于需要更精细的文本处理场景。

  • edge n-gram 分析器:edge n-gram 分析器可以生成一组从词首开始的较短字符片段,用于实现搜索关键字前缀匹配。

  • n-gram 分析器:与 edge n-gram 分析器不同,n-gram 分析器会生成全部字符片段,可以用于实现搜索任意位置匹配。

例子

product_name 字段使用的是 standard_analyzer;

description 字段则使用的是 chinese_analyzer 分析器;

PUT /my_index
{
  "mappings": {
    "properties": {
      "product_name": {
        "type": "text",
        "analyzer": "standard_analyzer"
      },
      "description": {
        "type": "text",
        "analyzer": "chinese_analyzer"
      }
    }
  }
}

http://www.kler.cn/news/10237.html

相关文章:

  • selenium库有哪些功能呢?都是如何实现的呢?
  • ( “树” 之 DFS) 543. 二叉树的直径 ——【Leetcode每日一题】
  • Git的安装与基本使用
  • 2021蓝桥杯真题大写 C语言/C++
  • 计算机网络笔记(横向)
  • 代码随想录算法训练营第三十四天-贪心算法3| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
  • 微服务+springcloud+springcloud alibaba学习笔记【Eureka服务注册中心】(3/9)
  • C++标准库--IO库(Primer C++ 第五版 · 阅读笔记)
  • 离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
  • 探索树形数据结构,通识树、森林与二叉树的基础知识(专有名词),进一步利用顺序表和链表表示、遍历和线索树形结构
  • 梯度的看法
  • MyBatis配置文件 —— 相关标签详解
  • 干翻Hadoop系列之:Hadoop前瞻之分布式知识
  • Leetcode.1992 找到所有的农场组
  • NumPy 秘籍中文第二版:十、Scikits 的乐趣
  • vue3+TS+Pinia+Vite项目实战之一
  • 程序员的日常瞎想,个人规划,和企业把控之间的微妙关系。职场人你懂!!
  • WPF MVVM模式构建项目
  • “三步走”推动云原生转型之路
  • Unity资源-音效初识
  • 【MySQL】表的约束
  • Wijmo JavaScript UI 5.20222.877 Crack
  • ESLint的配置
  • 使用向量机(SVM)算法的推荐系统
  • Flutter系列(七)ListView 图文列表详解
  • sourcemap文件泄露漏洞
  • C++开发必知的内存问题及常用的解决方法-经典文章
  • 算法自学__ 莫队
  • 比较系统的学习 pandas (2)
  • 18从零开始学Java之switch分支语句中该怎么用?