Elasticsearch分词器--空格分词器(whitespace analyzer)

这篇具有很好参考价值的文章主要介绍了Elasticsearch分词器--空格分词器(whitespace analyzer)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

  文本分析,是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入时将词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。

分词器名称 处理过程
Standard Analyzer 默认的分词器,按词切分,小写处理
Simple Analyzer 按照非字母切分(符号被过滤),小写处理
Stop Analyzer 小写处理,停用词过滤(the, a, this)
Whitespace Analyzer 按照空格切分,不转小写
Keyword Analyzer 不分词,直接将输入当做输出
Pattern Analyzer 正则表达式,默认是\W+(非字符串分隔)

实战

1、空格分词器展示

POST:http://localhost:9200/_analyze/

{
  "analyzer": "whitespace",
  "text": "hello this my white space analyzer"
}

结果:按照空格进行分词处理

{
    "tokens":[
        {
            "token":"hello",
            "start_offset":0,
            "end_offset":5,
            "type":"word",
            "position":0
        },
        {
            "token":"this",
            "start_offset":6,
            "end_offset":10,
            "type":"word",
            "position":1
        },
        {
            "token":"my",
            "start_offset":11,
            "end_offset":13,
            "type":"word",
            "position":2
        },
        {
            "token":"white",
            "start_offset":14,
            "end_offset":19,
            "type":"word",
            "position":3
        },
        {
            "token":"space",
            "start_offset":20,
            "end_offset":25,
            "type":"word",
            "position":4
        },
        {
            "token":"analyzer",
            "start_offset":26,
            "end_offset":34,
            "type":"word",
            "position":5
        }
    ]
}

Elasticsearch分词器--空格分词器(whitespace analyzer),Lucene\Elasticsearch学习,elasticsearch,搜索引擎,中文分词

2、空格分词器创建与查询

目前我们有一些应用场景需要根据空格分词之后的内容进行精准查询,这样空格分词器就满足我们的需求了。

(1)创建索引,针对想要分词的字段指定空格分词器

whitespace_analyzer_1:指定为whitespace

content:指定为空格分词器

{
  "settings": {
    "analysis": {
      "analyzer": {
        "whitespace_analyzer_1": {
          "type": "whitespace"
        }
      }
    }
  },
  "mappings": {
    "_doc": {
      "properties": {
        "id": {
          "type": "keyword"
        },
        "title": {
          "type": "text"
        },
        "content": {
          "type": "text",
          "analyzer": "whitespace_analyzer_1"
        }
      }
    }
  }
}

Elasticsearch分词器--空格分词器(whitespace analyzer),Lucene\Elasticsearch学习,elasticsearch,搜索引擎,中文分词

(2)索引查询

保存一条数据:

{
  "id": "002",
  "title": "科目2",
  "content": "this is whitespace"
}

根据分词查询:

{
  "query": {
    "match": {
      "desc": "this"
    }
  }
}

Elasticsearch分词器--空格分词器(whitespace analyzer),Lucene\Elasticsearch学习,elasticsearch,搜索引擎,中文分词

根据不存在的分词查询则查询不到

{
  "query": {
    "match": {
      "desc": "that"
    }
  }
}

Elasticsearch分词器--空格分词器(whitespace analyzer),Lucene\Elasticsearch学习,elasticsearch,搜索引擎,中文分词文章来源地址https://www.toymoban.com/news/detail-756274.html

到了这里,关于Elasticsearch分词器--空格分词器(whitespace analyzer)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch学习篇10_Lucene数据存储之BKD动态磁盘树

    基础的数据结构如二叉树衍生的的平衡二叉搜索树通过左旋右旋调整树的平衡维护数据,靠着二分算法能满足一维度数据的logN时间复杂度的近似搜索。对于大规模多维度数据近似搜索,Lucene采用一种BKD结构,该结构能很好的空间利用率和性能。 本片博客主要学习常见的多维

    2024年03月15日
    浏览(46)
  • ElasticSearch学习(五): 分词器

            顾名思义, 文本分析 就是 把全文本转换成一系列单词(term/token)的过程 ,也叫 分词 。         在 ES 中, Analysis 是通过 分词器(Analyzer)  来实现的,可使用 ES 内置的分析器或者按需定制化分析器。         再简单了解了 Analysis 与 Analyzer 之后,让我

    2024年02月15日
    浏览(43)
  • ElasticSearch学习随笔之分词算法

    1、ElasticSearch学习随笔之基础介绍 2、ElasticSearch学习随笔之简单操作 3、ElasticSearch学习随笔之java api 操作 4、ElasticSearch学习随笔之SpringBoot Starter 操作 5、ElasticSearch学习随笔之嵌套操作 6、ElasticSearch学习随笔之分词算法 7、ElasticSearch学习随笔之高级检索 8、ELK技术栈介绍 9、Lo

    2024年02月05日
    浏览(32)
  • ElasticSearch学习篇8_Lucene之数据存储(Stored Field、DocValue、BKD Tree)

    Lucene全文检索主要分为索引、搜索两个过程,对于索引过程就是将文档磁盘存储然后按照指定格式构建索引文件,其中涉及数据存储一些压缩、数据结构设计还是很巧妙的,下面主要记录学习过程中的StoredField、DocValue以及磁盘BKD Tree的一些相关知识。 参考: https://juejin.cn/p

    2024年02月03日
    浏览(32)
  • elasticsearch学习(六):IK分词器

            IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分

    2024年01月25日
    浏览(38)
  • ElasticSearch 学习9 spring-boot ,elasticsearch7.16.1实现中文拼音分词搜索

    一、elasticsearch官网下载:Elasticsearch 7.16.1 | Elastic 二、拼音、ik、繁简体转换插件安装 ik分词:GitHub - medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. 拼音分词:GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin is

    2024年01月22日
    浏览(49)
  • ElasticSearch中analyzer和search_analyzer

    基于elasticsearch7.6.1 和 kibana7.6.1 1. 基础介绍 analyzer:插入文档时,将text类型的字段做分词然后插入倒排索引。 search_analyzer:查询时,先对要查询的text类型的输入做分词,再去倒排索引中搜索。 如果想要让\\\'索引\\\'和\\\'查询\\\'时使用不同的分词器,ElasticSearch也是能支持的,只需要

    2024年02月04日
    浏览(48)
  • ElasticSearch与Lucene是什么关系?Lucene又是什么?

    一. ElasticSearch 与 Lucene 的关系 Elasticsearch(ES)和Apache Lucene之间有密切的关系,可以总结如下: Elasticsearch构建于Lucene之上:Elasticsearch实际上是一个分布式的、实时的搜索和分析引擎,它构建在Apache Lucene搜索引擎库的基础上。Lucene提供了全文搜索和索引功能,而Elasticsearch在此

    2024年02月04日
    浏览(39)
  • B081-Lucene+ElasticSearch

    认识全文检索 概念 对非结构化数据的搜索就叫全文检索,狭义的理解主要针对文本数据的搜索。 非结构化数据: 没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等。 非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二

    2024年02月10日
    浏览(28)
  • Elasticsearch:将最大内积引入 Lucene

    作者:Benjamin Trent 目前,Lucene 限制 dot_product (点积) 只能在标准化向量上使用。 归一化迫使所有向量幅度等于一。 虽然在许多情况下这是可以接受的,但它可能会导致某些数据集的相关性问题。 一个典型的例子是 Cohere 构建的嵌入(embeddings)。 它们的向量使用幅度来提供更

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包